1、先到IIS官方下载模块
下载地址:http://www.iis.net/download/URLRewrite
2、安装重写模块
我下载的是本地exe文件,双击安装即可(如果IIS服务没停的话,安装完成后会要求重启系统。)
3、这个时候再进 “Internet 信息服务(IIS)管理器”,就可以看见模块中多了一个 Url Rewrite 模块,进入需要设置伪静态的相关站点。
4、进入需要设置的站点,双击 Url Rewrite 图标,进入设置界面。
然后点击右侧的“导入规则“
5、导入规则文件:.htaccess
点击“导入”此文件
(没有.htaccess 可以下载一个phpcms v9 ,导入其中的.htaccess)
6、确认无误后,点击右栏的“应用”按钮即可
ps:
配置完伪静态后发现网站所有的链接都不跳转,都显示首页。找了好多资料,摸索了一个上午,最终发现还是规则文件的问题。
下面常用的 web.config 配置伪静态的方法。
第一种方法:web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="OrgPage" 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>
第二种方法:web.config<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="规则 1" stopProcessing="true">
<match url="^includes/(.*)" />
<action type="Rewrite" url="includes\/{R:1}" />
</rule>
<rule name="规则 2" stopProcessing="true">
<match url="^(blog)/includes/(.*)" />
<action type="Rewrite" url="{R:1}/includes\/{R:2}" />
</rule>
<rule name="规则 3" stopProcessing="true">
<match url="^(blog)/(.*).html(.*)" />
<action type="Rewrite" url="{R:1}/index.php\/{R:2}.html{R:3}" />
</rule>
<rule name="规则 4" stopProcessing="true">
<match url="^(.*).html(.*)" />
<action type="Rewrite" url="index.php\/{R:1}.html{R:2}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
以上的 URL重定向 规则,我们也可以自行定义,可以通过在线转换工具生成 http://www.webweb.com/htaccesstowebconfig/
ps:
windows2008 iis7 伪静态URL中带特殊符号空格无法访问的解决办法
打开 web.config:
修改成以下格式
<configuration>
<system.webServer>
<security>
<requestFiltering allowDoubleEscaping="true"></requestFiltering>
</security>
</system.webServer>
</configuration>
来源:oschina
链接:https://my.oschina.net/u/2320053/blog/668304