我设置了以下 URL 重写规则:
<rules>
<rule name="Clean URL" stopProcessing="true">
<match url="^([A-Za-z0-9]+)([\?A-Za-z0-9#=&]+)?$" />
<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\?#=&]+)?$" />
<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