如何将此mod_rewite规则转换为IIS7 UrlRewrite

Options +Indexes Options +FollowSymlinks RewriteEngine on RewriteBase / RewriteRule ^(.*)\.html$ $1.php [L] 

是什么我会用在Apache mod rewite,使其如此index.html实际上是index.php

我怎样才能在IIS中做到这一点?

 <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <directoryBrowse enabled="false" /> <defaultDocument> <files> <clear /> <add value="Default.htm" /> <add value="Default.asp" /> <add value="index.htm" /> <add value="Default.aspx" /> <add value="index.html" /> <add value="index.php" /> </files> </defaultDocument> </system.webServer> </configuration> 

这是我目前的configuration。 提前致谢。

如果您有权访问主机上的IIS7pipe理控制台或运行IIS7和UrlRewrite的任何计算机,则可以自动执行转换。

首先,将你的mod_rewrite规则复制到一个文件并保存为类似mod_rw.htaccess

启动IIS7的pipe理控制台,导航到您的网站。 启动UrlRewritefunction:

在这里输入图像说明

在右侧的操作窗格select导入规则

在这里输入图像说明

单击configuration文件文本框旁边的elipsesbutton,find并selectmod_rw.htaccess

在这里输入图像说明

接下来点击导入button:

在这里输入图像说明

点击导入后,你的mod_rewrite规则将被导入并转换为IIS7的UrlRewrite 2.0规则格式。

您可以通过单击XML视图选项卡来查看原始XMLconfiguration:

在这里输入图像说明

此时,如果您单击右侧操作窗格菜单中的返回规则链接,导入器将询问您是否要保存这些规则。 如果这不是预期的目标机器,那么只需复制“Xml视图”选项卡中的内容并粘贴到属于目标站点的web.config即可。

最后一点(你可能已经知道这一点),你可以改变默认的文档顺序,以便index.php优于index.html

 <defaultDocument> <files> <clear /> <add value="index.php" /> <!-- <-- moved to top of list --> <add value="Default.htm" /> <add value="Default.asp" /> <add value="index.htm" /> <add value="Default.aspx" /> <add value="index.html" /> </files> </defaultDocument>