.htaccess伪静态规则转换为IIS的URL重写规则方法


护卫神·主机大师安装后,默认支持的是URL重写模式的伪静态,原本是.htaccess的伪静态将不受支持。

可以将.htaccess伪静态规则导入到IIS的URL重写规则,实现完全一样的伪静态效果。


第一步:找到需要导入规则的网站,并进入URL重写模块(如下图)

未命名-1.jpg


第二步:选择“导入规则”模式

未命名-2.jpg


第三步:选择要导入的.htaccess文件

未命名-3.jpg


第四步:点击“导入”,再点击“应用”,即可完成规则导入。

未命名-4.jpg


至此网站已经支持采用URL重写模式的伪静态了。


【如果导入提示错误怎么办?】(如下图):

未命名-7.jpg


出现这个原因是有些伪静态规则不受IIS支持,需要先清理掉这些规则。

先选择下方有红色×的行,此时上方“重写规则”那里会自动选中一行,到.htaccess文件删除掉这一行。

直到都清理完了,再点击“导入”按钮即可完成转换。


常用的thinkphp框架或MVC框架的程序,在IIS下的伪静态规则如下:(在对应网站根目录下新建文件web.config用记事本打开,复制以下代码并保存)

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
 <rules>
 <rule name="mvcrewrite" stopProcessing="true">
 <match url="^(.*)$" />
 <conditions logicalGrouping="MatchAll">
 <add input="{HTTP_HOST}" pattern="^(.*)$" />
 <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
 <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
 </conditions>
 <action type="Rewrite" url="index.php/{R:1}" />
 </rule>
 </rules>
 </rewrite>
 </system.webServer>
</configuration>


用户留言