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>