2012-03-14 44 views
9

Tôi đã có các quy tắc sau Rewrite URL thiết lập:Internet Explorer bỏ qua hashtag trong 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> 

Điều này không là hiển thị một (không .aspx) URL sạch trong thanh địa chỉ của khách hàng và bổ sung trang đổi hướng mọi cuộc gọi URL sạch sẽ đến trang .aspx tương ứng. Điều này "thường" hoạt động tốt. Tuy nhiên, khi URL của tôi bao gồm thẻ bắt đầu bằng #, tức là Administration.aspx#first thẻ bắt đầu bằng # chỉ bị thiếu sau khi chuyển hướng trong IE, nó hoạt động hoàn toàn tốt trong FF/Chrome, điều gì có thể gây ra điều này?

Kết quả sau khi nhấp vào liên kết trong Chrome/FF:

Administration#first

quả trong IE (9):

Administration

Phụ Lục: Nó hoạt động hoàn toàn tốt đẹp cho GET-Tham số .

Link: Login.aspx?logout=1

IE: Login?logout=1

FF/Chrome: Login?logout=1

Trả lời

2

Khi hashtag là chủ yếu là dành cho trình duyệt trên các mặt hàng để biết được nơi để di chuyển trong một trang, nó có vẻ hợp lý với tôi rằng không phải tất cả các trình duyệt đều gửi nó đến máy chủ. Tuy nhiên tôi không chắc chắn những gì các đặc điểm kỹ thuật nói về nó.