Internet Explorer忽略URL中的Hashtag

时间:2012-03-14 12:19:51

标签: asp.net internet-explorer url-rewriting iis-7.5 hashtag

我设置了以下网址重写规则:

<rules>
            <rule name="Clean URL" stopProcessing="true">
                <match url="^([A-Za-z0-9]+)([\?A-Za-z0-9#=&amp;]+)?$" />
                <action type="Rewrite" url="{R:1}.aspx{R:2}" />
            </rule>
            <rule name="CleanTest" stopProcessing="true">
                <match url="^([a-z0-9/]+).aspx([a-zA-Z0-9\?#=&amp;]+)?$" />
                <action type="Redirect" url="{R:1}{R:2}" />
            </rule>
        </rules>

这样做是在客户端的地址栏中显示一个干净的(非.aspx)URL,并将每个干净的URL调用重定向到相应的.aspx-Page。这“通常”工作正常。但是,当我的网址包含主题标签时,即Administration.aspx#first仅在IE中重定向后标签丢失,它在FF / Chrome中运行得非常好,这可能导致这种情况?

点击Chrome / FF中的链接后的结果:

Administration#first

IE(9)中的结果:

Administration

附录:GET参数完全正常。

链接:Login.aspx?logout=1

IE:Login?logout=1

FF / Chrome:Login?logout=1

1 个答案:

答案 0 :(得分:2)

由于主题标签主要是客户端的浏览器知道在页面中滚动的位置,因此我并不是所有浏览器都将其发送到服务器。但是我不确定规范说的是什么。