由于我以前的服务器是 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,因此它们非常相似,尽管它们的发展方向略有不同。