次の 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):
Administration
補遺: GET-Parameters では問題なく動作します。
リンク:Login.aspx?logout=1
いいえ:Login?logout=1
FF/クローム:Login?logout=1