IIS7.0 Windows2008 配置伪静态

南笙酒味 提交于 2019-12-05 11:03:49

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>

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!