我习惯使用 Apache 服务器,所以当 mod_rewrite 启用时,我可以创建一个 htaccess 文件并使用 url 重写。
这是我的 htaccess 文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
现在我已经建立了这个使用这个 url 重写模块的网站,但我了解到它是一个微软服务器。我可以使用我的 htaccess 文件吗?我需要改变什么才能让它工作吗?如何判断 microsoft 服务器上是否设置了 url 重写?
更新:有没有我可以安装的适用于 htaccess 文件的免费版本?
您可以将 Apache mod_rewrite 规则(不是全部,请注意)导入 IIS7 的 Microsoft URL 重写引擎。
您还可以安装Ionics Isapi Rewrite Filter,这是一个用于 IIS 6 和 7 的开源 mod_rewrite-alike。另一个海报链接 Helicon,它很相似,但成本更高。
IIRC,IIS 没有开箱即用的重写能力。当我们需要重写时,我们使用HeliconTech 的 ISAPI Re-Write。它不是免费的,但非常便宜。
它会给你一个名为 httpd.ini 的文件——你把它放在你网站的根目录中,就像你把一个 .HTACCESS 放在你的站点的根目录中一样,剩下的事情就交给它了。
文件的格式不同,但并没有那么不同。
提到的 isapi 过滤器应该可以正常工作。如果你想花时间去 .net,你也可以使用urlrewriting.net或UrlRewriter.NET 。两者都是免费的,可以避免 ISAPI 过滤器命中。但是,您最好的选择是IIS 7 URL 重写模块
以下是关于 micronovae 的 IIS Mod-Rewrite 的一些信息。在发现 CrystalTech 使用它之后,我才刚刚开始了解它。它比 ISAPI_Rewrite 贵一点。
HeliconTech的 ISAPI-Rewrite 3具有非常类似于 Apache 的语法。上面的配置将在 ISAPI_Rewrite3 .htaccess 中工作,无需任何修改。
IIRF(Ionic 的 ISAPI 重写过滤器)将与该 .htaccess 文件一起使用,不变。好吧,你必须重命名它。
Apache 的 mod-rewrite 有一些 IIRF 没有的功能,但您的 .htaccess 文件无需更改即可工作。
由于我在廉价的 IIS 主机上运行我的 WordPress 博客 (blog.jaspio.net),因此不允许我安装 ISAPI 过滤器。
然后,我遇到了 Tom Bristol 的很棒的小 ASP 脚本来解析 .htaccess 文件,以确保我有漂亮干净的 SEO 链接而不是查询字符串。
搏一搏!