У меня есть следующие правила перезаписи 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):
] Администрирование
Приложение: Это прекрасно работает для GET-параметров.
Ссылка: Login.aspx?logout =1
IE: Логин?выход=1
FF/Chrome: Логин?выход=1