# Using .htaccess in IIS?



## Callum_Dawson (Mar 9, 2009)

Is it possible to use .htaccess in IIS? I have this .htaccess which keeps everything on the site in order, and without it, the site doesn't function correctly. In-case any of you can translate it into IIS web.config or something the .htaccess is below;


```
RewriteEngine on
#Category rewrite
RewriteCond %{REQUEST_URI} !.php
RewriteRule ^videos/([^/]+)/?$ index.php?id=7&crw=$1 [L]
RewriteRule ^videos/([^/]+)/([0-9]+)/?$ index.php?id=7&crw=$1&page=$2 [L]
RewriteRule ^videos/([^/]+)/_([^/]+)/?$ index.php?id=7&crw=$1&scrw=$2 [L]
RewriteRule ^videos/([^/]+)/_([^/]+)/([0-9]+)/?$ index.php?id=7&crw=$1&scrw=$2&page=$3 [L]

#Individual media
RewriteCond %{REQUEST_URI} !.php

RewriteRule ^play/([^/]+)/_([^/]+)/__([^/]+)/([^/]+)/___([^/]+)/([0-9]+)/?$ index.php?id=8&crw=$1&scrw=$2&sscrw=$3&vrw=$4&tab=$5&num=$6 [L]
RewriteRule ^play/([^/]+)/_([^/]+)/__([^/]+)/([^/]+)/___([^/]+)/?$ index.php?id=8&crw=$1&scrw=$2&sscrw=$3&vrw=$4&tab=$5 [L]
RewriteRule ^play/([^/]+)/_([^/]+)/([^/]+)/(___[^/]+)/([0-9]+)/?$ index.php?id=8&crw=$1&scrw=$2&vrw=$3&tab=$4&num=$5 [L]
RewriteRule ^play/([^/]+)/_([^/]+)/__([^/]+)/([^/]+)/?$ index.php?id=8&crw=$1&scrw=$2&sscrw=$3&vrw=$4 [L]
RewriteRule ^play/([^/]+)/_([^/]+)/([^/]+)/___([^/]+)/?$ index.php?id=8&crw=$1&scrw=$2&vrw=$3&tab=$4 [L]
RewriteRule ^play/([^/]+)/([^/]+)/___([^/]+)/([0-9]+)/?$ index.php?id=8&crw=$1&vrw=$2&tab=$3&num=$4 [L]
RewriteRule ^play/([^/]+)/___([^/]+)/([0-9]+)/?$ index.php?id=8&vrw=$1&tab=$2&num=$3 [L]
RewriteRule ^play/([^/]+)/([^/]+)/___([^/]+)/?$ index.php?id=8&crw=$1&vrw=$2&tab=$3 [L]
RewriteRule ^play/([^/]+)/_([^/]+)/([^/]+)/?$ index.php?id=8&crw=$1&scrw=$2&vrw=$3 [L]
RewriteRule ^play/([^/]+)/___([^/]+)/?$ index.php?id=8&vrw=$1&tab=$2 [L]
RewriteRule ^play/([^/]+)/([^/]+)/?$ index.php?id=8&crw=$1&vrw=$2 [L]
RewriteRule ^play/([^/]+)/?$ index.php?id=8&vrw=$1 [L]
RewriteRule ^showimage/([^/]+)/?$ image.php?image=$1 [L]

#Individual group
RewriteCond %{REQUEST_URI} !.php
RewriteRule ^showgroup/([^/]+)/_([^/]+)/?$ index.php?id=20&grp=$1&filter=$2 [L]
RewriteRule ^showgroup/([^/]+)/([^/]+)/_([^/]+)/?$ index.php?id=20&grp=$1&cmd=$2&filter=$3 [L]
RewriteRule ^showgroup/([^/]+)/([^/]+)/_([^/]+)/([0-9]+)/?$ index.php?id=20&grp=$1&cmd=$2&filter=$3&page=$4 [L]
RewriteRule ^showgroup/([^/]+)/_([^/]+)/([0-9]+)/?$ index.php?id=20&grp=$1&filter=$2&page=$3 [L]
RewriteRule ^showgroup/([^/]+)/?$ index.php?id=20&grp=$1 [L]
RewriteRule ^showgroup/([^/]+)/([^/]+)/?$ index.php?id=20&grp=$1&cmd=$2 [L]
RewriteRule ^showgroup/([^/]+)/([^/]+)/([0-9]+)/?$ index.php?id=20&grp=$1&cmd=$2&page=$3 [L]
RewriteRule ^showgroup/([^/]+)/([0-9]+)/?$ index.php?id=20&grp=$1&page=$2 [L]


#This is for all the pages
RewriteCond %{REQUEST_URI} !.php
RewriteRule ^latest/?$ index.php?id=1 [L]
RewriteRule ^members/_([^/]+)/__([^/]+)/?$ index.php?id=88&filter=$1&nsearch=$2 [L]
RewriteRule ^members/_([^/]+)/__([^/]+)/([0-9]+)/?$ index.php?id=88&filter=$1&nsearch=$2&page=$3 [L]
RewriteRule ^members/_([^/]+)/___([^/]+)/?$ index.php?id=88&filter=$1&lsearch=$2 [L]
RewriteRule ^members/_([^/]+)/___([^/]+)/([0-9]+)/?$ index.php?id=88&filter=$1&lsearch=$2&page=$3 [L]
RewriteRule ^members/_([^/]+)/__([^/]+)/___([^/]+)/?$ index.php?id=88&filter=$1&nsearch=$2&lsearch=$3 [L]
RewriteRule ^members/_([^/]+)/__([^/]+)/___([^/]+)/([0-9]+)/?$ index.php?id=88&filter=$1&nsearch=$2&lsearch=$3&page=$4 [L]
RewriteRule ^members/_([^/]+)/?$ index.php?id=88&filter=$1 [L]
RewriteRule ^members/_([^/]+)/([0-9]+)/?$ index.php?id=88&filter=$1&page=$2 [L]
RewriteRule ^members/?$ index.php?id=88 [L]
RewriteRule ^members/([0-9]+)/?$ index.php?id=19&page=$1 [L]
RewriteRule ^groups/_([^/]+)/__([^/]+)/?$ index.php?id=19&filter=$1&search=$2 [L]
RewriteRule ^groups/_([^/]+)/__([^/]+)/([0-9]+)/?$ index.php?id=19&filter=$1&search=$2&page=$3 [L]
RewriteRule ^groups/_([^/]+)/?$ index.php?id=19&filter=$1 [L]
RewriteRule ^groups/_([^/]+)/([0-9]+)/?$ index.php?id=19&filter=$1&page=$2 [L]
RewriteRule ^groups/?$ index.php?id=19 [L]
RewriteRule ^groups/([0-9]+)/?$ index.php?id=19&page=$1 [L]
RewriteRule ^search/?$ index.php?id=22 [L]
RewriteRule ^search/([0-9]+)/?$ index.php?id=22&page=$1 [L]
RewriteRule ^search/([^/]+)/?$ index.php?id=22&keywords=$1 [L]
RewriteRule ^search/([^/]+)/([0-9]+)/?$ index.php?id=22&keywords=$1&page=$2 [L]

RewriteRule ^account/?$ index.php?id=56 [L]

RewriteRule ^latest/([0-9]+)/?$ index.php?id=1&page=$1 [L]
RewriteRule ^top_rated/?$ index.php?id=2 [L]
RewriteRule ^top_rated/([0-9]+)/?$ index.php?id=2&page=$1 [L]
RewriteRule ^most_viewed/_([^/]+)/?$ index.php?id=3&filter=$1 [L]
RewriteRule ^most_viewed/?$ index.php?id=3 [L]
RewriteRule ^most_viewed/_([^/]+)/([0-9]+)/?$ index.php?id=3&filter=$1&page=$2 [L]
RewriteRule ^most_viewed/([0-9]+)/?$ index.php?id=3&page=$1 [L]

RewriteRule ^category/([^/]+)/_([^/]+)/__([^/]+)/___([^/]+)/([0-9]+)/?$ index.php?id=21&crw=$1&scrw=$2&sscrw=$3&filter=$4&page=$5 [L]
RewriteRule ^category/([^/]+)/_([^/]+)/__([^/]+)/([0-9]+)/?$ index.php?id=21&crw=$1&scrw=$2&sscrw=$3&page=$4 [L]
RewriteRule ^category/([^/]+)/_([^/]+)/__([^/]+)/___([^/]+)/?$ index.php?id=21&crw=$1&scrw=$2&sscrw=$3&filter=$4 [L]
RewriteRule ^category/([^/]+)/_([^/]+)/__([^/]+)/?$ index.php?id=21&crw=$1&scrw=$2&sscrw=$3 [L]

RewriteRule ^category/([^/]+)/_([^/]+)/___([^/]+)/([0-9]+)/?$ index.php?id=21&crw=$1&scrw=$2&filter=$3&page=$4 [L]
RewriteRule ^category/([^/]+)/_([^/]+)/([0-9]+)/?$ index.php?id=21&crw=$1&scrw=$2&page=$3 [L]
RewriteRule ^category/([^/]+)/_([^/]+)/___([^/]+)/?$ index.php?id=21&crw=$1&scrw=$2&filter=$3 [L]
RewriteRule ^category/([^/]+)/_([^/]+)/?$ index.php?id=21&crw=$1&scrw=$2 [L]

RewriteRule ^category/([^/]+)/___([^/]+)/([0-9]+)/?$ index.php?id=21&crw=$1&filter=$2&page=$3 [L]
RewriteRule ^category/([^/]+)/([0-9]+)/?$ index.php?id=21&crw=$1&page=$2 [L]
RewriteRule ^category/([^/]+)/___([^/]+)/?$ index.php?id=21&crw=$1&filter=$2 [L]
RewriteRule ^category/([^/]+)/?$ index.php?id=21&crw=$1 [L]


######################
#Tags Re-Write J-Mods#
######################
RewriteRule ^tags/?$ index.php?id=24 [L]
RewriteRule ^add/?$ index.php?id=25 [L]
Options +FollowSymlinks
RewriteCond %{QUERY_STRING} url=(.*)
RewriteRule ^out(.*) index.php?id=26&url=%1 [L]
RewriteRule ^allfriends/?$ index.php?id=27 [L]
Options +FollowSymlinks
RewriteCond %{QUERY_STRING} vid=(.*)
RewriteRule ^changead(.*) index.php?id=28&vid=%1 [L]
Options +FollowSymlinks
RewriteCond %{QUERY_STRING} feed=(.*)
RewriteRule ^rss(.*) rss.php?feed=%1 [L]
RewriteRule ^rss/?$ index.php?id=29 [L]
Options +FollowSymlinks
RewriteCond %{QUERY_STRING} del=(.*)
RewriteRule ^news/?$ index.php?id=30&del=%1 [L]
RewriteRule ^news/?$ index.php?id=30 [L]
Options +FollowSymlinks
RewriteCond %{QUERY_STRING} edit=(.*)
RewriteRule ^edit/?$ index.php?id=31&edit=%1 [L]
####################
# Do Not Edit      #
####################

RewriteRule ^forgot/?$ index.php?id=4 [L]
RewriteRule ^upload/?$ index.php?id=5 [L]
RewriteRule ^register/?$ index.php?id=6 [L]
RewriteRule ^logout/?$ index.php?logout=1 [L]
RewriteRule ^help/?$ index.php?id=15 [L]
	RewriteRule ^tellafriend/(.+)/?$ index.php?id=11&mediaurl=$1 [L]
RewriteRule ^terms/?$ index.php?id=16 [L]
RewriteRule ^contact/?$ index.php?id=17 [L]
RewriteRule ^history/?$ index.php?id=50 [L]
RewriteRule ^history/([0-9]+)/?$ index.php?id=50&page=$1 [L]
RewriteRule ^favorites/?$ index.php?id=51&page=1 [L]
RewriteRule ^favorites/([0-9]+)/?$ index.php?id=51&page=$1 [L] 

RewriteRule ^usermenu/?$ index.php?id=55 [L]
RewriteRule ^usermenu/([a-z]+)/?$ index.php?id=55&action=$1 [L]
RewriteRule ^usermenu/([a-z]+)/([0-9]+)/?$ index.php?id=55&action=$1&page=$2 [L]
RewriteRule ^usermenu/([a-z]+)/([0-9]+)/([0-9]+)/?$ index.php?id=55&action=$1&page=$2&page2=$3 [L]

#New Profile
RewriteRule ^profile/([A-z0-9_-]+)/([a-z]+)/_([^/]+)/([0-9]+)/?$ index.php?id=18&user=$1&act=$2&opt=$3&page=$4 [L]
RewriteRule ^profile/([A-z0-9_-]+)/([a-z]+)/_([^/]+)/?$ index.php?id=18&user=$1&act=$2&opt=$3 [L]
RewriteRule ^profile/([A-z0-9_-]+)/([a-z]+)/([0-9]+)/?$ index.php?id=18&user=$1&act=$2&page=$3 [L]
RewriteRule ^profile/([A-z0-9_-]+)/([a-z]+)/?$ index.php?id=18&user=$1&act=$2 [L]
RewriteRule ^profile/([A-z0-9_-]+)/([0-9]+)/?$ index.php?id=18&user=$1&page=$2 [L]
RewriteRule ^profile/([A-z0-9_-]+)/?$ index.php?id=18&user=$1 [L]


<Files *.module>
	deny from all
</Files>
Options All -Indexes
<files *.inc>
order allow,deny
deny from all
</files>
```


----------



## Squashman (Apr 4, 2003)

You can't use an .htaccess directly bu there are a couple of third party utilities you can install to do rewrites. I can't recall which one I had used in the past. Just google search IIS rewrite.
http://learn.iis.net/page.aspx/460/using-url-rewrite-module/
http://www.isapirewrite.com/


----------



## lordsmurf (Apr 23, 2009)

ISAPI Rewrite sucks -- don't use that. It's not 100% compliant coding.

Use this for IIS6: http://www.micronovae.com/ModRewrite/ModRewrite.html (Pro version)
Use this for IIS7: http://www.helicontech.com/ape

I use those. Work great. 



> <Files *.module>
> deny from all
> </Files>
> Options All -Indexes
> ...


You can't emulate that. Do your IP blocking with the IIS tools.
For anti-leach, use Mod-Rewrite commands, not Apache commands.

You'll need to see which commands can be given, and which cannot. Not all ModRewrite can be emulated, just about 99% of it. You'll have to use Linux for some things, or otherwise alter the code of your script.


----------

