PHP,使用htaccess的URL重写和Microsoft IIS Url重写?

我习惯于使用Apache服务器,所以当启用mod_rewrite时,我可以创build一个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] 

现在我已经build立了这个网站,使用这个URL重写模块,但我来了解到,它是一个微软的服务器。 我可以使用我的htaccess文件吗? 有什么我需要改变,以使其工作? 如何知道是否在Microsoft服务器上设置了URL重写?

更新:有一个免费的版本,我可以安装与htaccess文件的作品?

HeliconTech的ISAPI-Rewrite 3具有类似Apache的语法。 上面的configuration将在ISAPI_Rewrite3 .htaccess中工作,不作任何修改。

您可以将Apache mod_rewrite规则 (不是全部,请注意)导入到IIS7的Microsoft URL重写引擎中。

你也可以安装Ionics Isapi Rewrite Filter ,这是一个开源的mod_rewrite- like for IIS 6和7.另一张海报Helicon相似,但价格昂贵。

IIRC,IIS没有提供开箱即用的重写function。 当我们需要重写时,我们使用HeliconTech的ISAPI重写 。 这不是免费的,但是非常便宜。

它会给你一个名为httpd.ini的文件 – 你把它放在你网站的根目录下,就像.HTACCESS一样,剩下的工作就完成了。

该文件的格式是不同的,但没有什么不同。

提到的isapifilter应该可以正常工作。 你也可以使用urlrewriting.net或UrlRewriter.NET,如果你想花时间去.net。 两者都是免费的,将避免ISAPI筛选器命中。 然而,您最好的select是IIS 7 URL重写模块

这里是关于来自micronovae的IIS Mod-Rewrite 的一些信息。 在发现CrystalTech使用它之后我才开始了解它。 这比ISAPI_Rewrite要贵一点。

IIRF (Ionic的ISAPI重写filter)将与该.htaccess文件一起工作,保持不变。 那么,你必须重新命名它。

Apache的mod-rewrite有一些function,IIRF不支持,但是.htaccess文件不会改变。

由于我在廉价的IIS主机上运行我的WordPress博客(blog.jaspio.net),所以我没有被允许安装ISAPI筛选器。

然后,我遇到了汤姆布里斯托尔伟大的小ASP脚本来parsing.htaccess文件,以确保我有很好的干净的SEO链接,而不是querystrings。

搏一搏!