2012-03-14 14 views
9

Mam następujące zasady przepisywania URL skonfigurować:Internet Explorer ignoruje hashtag w adresie 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> 

Co to jest pokazać czyste (non-.aspx) adres URL w pasku adresu klienta oraz dodatkowo przekierowań każde czyste wywołanie adresu URL do odpowiedniej strony .aspx-page. To "ogólnie" działa dobrze. Jednak gdy mój adres URL zawiera hashtag, tj. Administration.aspx#first, hashtag nie występuje po przekierowaniu tylko w IE, działa doskonale w FF/Chrome, co może to spowodować?

Wynik po kliknięciu na link w Chrome/FF:

Administration#first

Wynik w IE (9):

Administration

Uzupełnienie: To działa perfekcyjnie dla Get-Parameters .

Link: Login.aspx?logout=1

IE: Login?logout=1

FF/Chrome: Login?logout=1

Odpowiedz

2

Jako hashtag jest głównie dla przeglądarki po stronie klienta, aby wiedzieć, gdzie, aby przewinąć w obrębie strony, to wydaje mi się logiczne, że nie wszystkie przeglądarki wysyłają je na serwer. Jednak nie jestem pewien, co mówi o tym specyfikacja.

Powiązane problemy