2012-03-14 8 views
9

Tengo las siguientes reglas de reescritura de URL establecieron:Internet Explorer ignora Hashtag en la 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> 

Lo que esto hace es mostrar una lista (no .aspx) URL limpia la barra de direcciones del cliente y, además, redirecciones cada URL limpia llama a la correspondiente .aspx-Page. Este "generalmente" funciona bien. Sin embargo, cuando mi URL incluye un hashtag, es decir, Administration.aspx#first, falta el hashtag después de la redirección en IE solamente, funciona perfectamente bien en FF/Chrome, ¿qué podría causar esto?

Resultado después de hacer clic en el enlace de cromo/FF:

Administration#first

resultado en IE (9):

Administration

Adición: funciona perfectamente bien para conseguir-Parámetros .

Enlace: Login.aspx?logout=1

IE: Login?logout=1

FF/Chrome: Login?logout=1

Respuesta

2

A medida que el hashtag es principalmente es para el navegador en el lado del cliente para saber dónde para desplazarse dentro de una página, me parece lógico que no todos los navegadores lo envíen al servidor. Sin embargo, no estoy seguro de lo que dice la especificación al respecto.

Cuestiones relacionadas