9

我设置了以下 URL 重写规则:

<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 页面。这“通常”工作正常。但是,当我的 URL 包含主题标签时,即Administration.aspx#first仅在 IE 中重定向后主题标签丢失,它在 FF/Chrome 中运行良好,这可能是什么原因?

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

Administration#first

IE (9) 中的结果:

Administration

附录:它非常适合 GET-Parameters。

关联:Login.aspx?logout=1

IE:Login?logout=1

FF/铬:Login?logout=1

4

1 回答 1

2

由于主题标签主要是让客户端的浏览器知道在页面内滚动的位置,因此对我来说,并非所有浏览器都将其发送到服务器似乎是合乎逻辑的。但是我不确定规范对此有何评论。

于 2012-03-14T13:35:38.080 回答