如何在 IIS 网络服务器上使用 mod_rewrite

如何在 IIS 网络服务器上使用 mod_rewrite

由于我以前的服务器是 Linux 机器,所以我有这段代码:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?path=$1 [NS,L]
</IfModule>

这段代码会将信息放入 URL 中,如下所示:

http://www.example.com/nr1/nr2/nr3/

变成这样的数组:

array ( 0 => "nr1", 1 => "nr2", 2 => "nr3")

我的新服务器机器是基于 Windows 2008 (IIS) 的服务器。现在我也想在新服务器上使用 mod_rewrite 模块。简而言之,我的问题是:

有人能告诉我或给我一个教程链接,告诉我如何安装/使用 mod_rewrite mod(或任何具有同样功能的 mod)并将上述代码转换成我可以在基于 Windows 的服务器上使用的格式。

我仍然使用 php,而不是 ASP.NET,我知道很多人会说使用 apache 或类似的东西,但不幸的是需要使用 IIS。

提前谢谢了!

答案1

我非常喜欢 IIS 重写模块,因为它完全集成到文件中web.config(相当于 IIS .htaccess)。

但如果你追求的是精确的语法匹配,ISAPI Rewrite 是你的朋友. 据我所知,它与 Apache 的文件mod_rewrite中模块100% 兼容.htaccess(实际上使用了一个.htaccess文件,它看起来真的在 Windows 资源管理器中看到没有文件名的有效文件很奇怪)

答案2

微软的官方 IIS 站点有重写模块您正在寻找。

如果您熟悉 mod_rewrite,那么 IIS 等效模块非常相似。否则,网络上有很多指南。该模块的初衷是模仿 mod_rewrite,因此它们非常相似,尽管它们的发展方向略有不同。

相关内容