URL重写模块。规则不适用于包含“+”符号的网址

时间:2010-08-26 10:48:50

标签: iis iis-7 url-rewriting

以下规则对于以下网址有效(成功重定向):

www.site.com/some/path

但对包含+符号的网址不起作用(404):

www.site.com/some/p+a+t+h

即使在编码时也不起作用(404):

www.site.com/some/p%2Ba%2Bt%2Bh

但是有效,当+?符号之后:

www.site.com/some/path?+

规则:

<rule name="redirectForWww" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^www.site.com$" />
    </conditions>
    <action type="Redirect" url="http://site.com/{R:0}" />
</rule>

IIS 7.0,URL重写模块2.0

1 个答案:

答案 0 :(得分:1)

根据URI规范@ http://labs.apache.org/webarch/uri/rfc/rfc3986.html#reserved

,加号是保留分隔符

因此不能(或不应该)在URL中的文件/文件夹名称中使用它。然而,它在a,javascript GET数据&amp;之后有用。 mailto:links +等于空格。