2012-03-14 87 views
9

我有以下URL重写规则设置:的Internet Explorer忽略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调用相应的.aspx页面。这个“一般”工作正常。但是,当我的网址包含主题标签(即Administration.aspx#first)时,仅在IE中重定向后失去哈希标签,它在FF/Chrome中运行得非常好,可能会导致此问题?

Administration#first

结果在IE(9):

Administration

附录:它完美罚款GET参数点击Chrome浏览器/ FF链接后

结果。

链接:Login.aspx?logout=1

IE:Login?logout=1

FF /铬:Login?logout=1

回答

2

由于包括hashtag主要是在客户端浏览器知道在哪里可以在页面内滚动,它对我来说似乎很合理,并非所有浏览器都将它发送到服务器。不过,我不确定该规范对此有何评论。