春天的树

IIS7/IIS8伪静态规则修正

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


#1楼
发帖时间:2014-1-30   |   查看数:0   |   回复数:4
春天的树

上面是官方原版的规则,我测试了一下,发现IIS7.5下出错。最终所有内页都是404


经过研究后发现是多了两个/  找到现丰的这两行。把url后面的/ 删除就可以了。
<match url="/(.*)" ignoreCase="false" />

<action type="Rewrite" url="/index.php?rewrite={R:1}" appendQueryString="false" />
效果如下
<match url="(.*)" ignoreCase="false" />

<action type="Rewrite" url="index.php?rewrite={R:1}" appendQueryString="false" />

欢迎交流QQ:331315679
2014-1-30 #2楼
dwjx007
2014-4-16 #3楼
bxfa
正在找这个呢
2014-5-9 #4楼
bychris
看了下新版后台可以直接生成最新的规则哇。测试了无错误呢。
2015-11-30 #5楼
游客组