9

次の 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>

これにより、クライアントのアドレス バーにクリーンな (.aspx 以外の) URL が表示され、さらにすべてのクリーンな URL 呼び出しが対応する .aspx ページにリダイレクトされます。これは「一般的に」正常に機能します。しかし、URL にハッシュタグが含まれている場合、つまりAdministration.aspx#firstIE でのみリダイレクト後にハッシュタグが欠落している場合、FF/Chrome では問題なく動作しますが、何が原因でしょうか?

Chrome/FF でリンクをクリックした後の結果:

Administration#first

IE の結果 (9):

Administration

補遺: GET-Parameters では問題なく動作します。

リンク:Login.aspx?logout=1

いいえ:Login?logout=1

FF/クローム:Login?logout=1

4

1 に答える 1

2

ハッシュタグは主に、クライアント側のブラウザーがページ内のどこをスクロールするかを知るためのものであるため、すべてのブラウザーがそれをサーバーに送信するわけではないことは理にかなっているように思えます。ただし、仕様がそれについて何を言っているのかわかりません。

于 2012-03-14T13:35:38.080 に答える