我的 .htaccess 文件在 IIS 上不起作用

Kar*_*ick 2 apache iis .htaccess

我的文件中有以下重写配置,.htaccess它在 apache 服务器中工作正常,但在 IIS 服务器中无法正常工作。

选项 +FollowSymlinks 
重写引擎开启
RewriteCond %{HTTP_HOST} ^myservername/$ [NC]
重写规则 ^(.*)$ http://myservername/$1 [R=301,L]
重写规则 !\.(php|png|gif|jpg|css|htm|html|txt|js|swf|xml|ico|mp3|csv|wav|mid) /index.php [L,QSA]

我如何让它在 IIS 上工作?

Kev*_*Kev 5

IIS 不支持.htaccess开箱即用。要在 IIS 上使用 Apache 样式的 mod_rewrite 规则,您需要第三方重写器,例如Iconics ISAPI Rewrite Filter或 HeliconTech 的ISAPI_Rewrite。您可能需要调整重写规则,因为并非所有 mod_rewrite 指令都受支持或适用(因为 Windows 不是 Unix)。

如果您正在运行 IIS7 并且它安装了 UrlRewriter(这是免费的),您可以使用它,但您需要将重写规则转换为完全不同的格式。