在具有+的IIS中重写URL

时间:2017-05-26 23:26:36

标签: iis url-rewriting web-config

我有以下网址 - website.com/ABCDETest+PHP,每次访问网站时,我都会收到404 - 找不到文件或目录。我的web.config是

    <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
            <rule name="Test" patternSyntax="Wildcard">
                <match url="*"/>
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
                    </conditions>
                <action type="Rewrite" url="index.php"/>
            </rule>
        </rules>
    </rewrite>
  </system.webServer>

有没有人碰巧知道我为什么要获得404页面并且它没有重定向到index.php?

1 个答案:

答案 0 :(得分:1)

您可能收到HTTP错误404.11 - 未找到

这不是因为规则不起作用,而是因为安全相关请求过滤模块拒绝请求。

请求过滤模块配置为拒绝包含双转义序列的请求。

您必须执行以下操作

IIS管理器 - &gt;查找网站&gt;转到请求过滤 - &gt;编辑功能设置并启用设置“允许双重转义”。

allow double escaping in IIS request filtering module