繁体   English   中英

iis 7.5 url重写-不处理百分比'%'符号

[英]iis 7.5 url rewrite -not processing percent '%' symbol

我从IIRF将规则导入到IIS URL Rewrite中,并且大多数看起来工作正常。 我刚刚注意到,有些网址中包含百分比符号(试图重定向一些不良的入站链接,其中包含百分比编码字符)。 当百分比在其中时,正则表达式似乎不起作用,因此我认为它试图将其解释为命令或其他内容。 没人知道吗?

对于我来说,可接受的答案不起作用,但是我发现了另一种设置重写规则的方法。 这将执行301重定向。

要求的网址: http : //www.shuttercontractor.com/m/vinyl-%E2%80%8Bshutters.aspx
目标网址: http : //www.shuttercontractor.com/m/vinyl-shutters.aspx

<rule name="301 Redirect to vinyl shutters category" stopProcessing="true">
    <match url="." ignoreCase="false" />
    <action type="Redirect" redirectType="Permanent" url="m/vinyl-shutters.aspx" />
    <conditions>
        <add input="{UNENCODED_URL}" pattern="m/vinyl-%[Ee]2%80%8[Bb]shutters\.aspx" ignoreCase="false" />
    </conditions>
</rule>

基本上,匹配可以在任何URL上进行,并且我们将条件与UNENCODED_URL服务器变量一起使用,以确保模式在重定向之前匹配。

似乎重写规则已经撤消了url编码,因此它不再将%3E视为那样,而是将其视为“ <” ..因此,使用>代替%3E可以解决问题。 现在,要修复一堆网址。

编辑:

另外,如果您手动编辑web.config(相对于使用UI编辑器),则需要使用&lt; 为<符号。 最好使用UI以避免混淆。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM