ローカルIISから、私のサイトを閲覧する際に、アドレスがhttp://localhost:8800/gb/default.aspxIIS書き換えルールは、私の現在のaspxページのハイパーリンクのhref間違った方法を変更
として、ブラウザのアドレスバーに見えます私は、ブラウザのアドレスバーから国コードを抽出しようとした中に注入されましたIISでのすべてのハイパーリンクのhrefはアウトバウンドルールを書き換えます。
これは私のweb.configファイルで使用されている送信ルールです。
IIS書き換えモジュールウィンドウからIパターンテストは、出力が1以下のように見える<outboundRules>
<rule name="add outbound rule" preCondition="Ishtml" enabled="true" stopProcessing="true">
<match filterByTags="A" pattern="(\/[a-z]+\/)(.*)" negate="true" />
<action type="Rewrite" value="{R:1}{R:2}" />
</rule>
<preConditions>
<preCondition name="Ishtml">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="text/html" />
</preCondition>
</preConditions>
</outboundRules>
。ここにスクリーンショットがあります。/GB /とは{R:2}のdefault.aspxある:
ので試験中に、私は{1 R}を見ました。したがって、このルールは、Default.aspxページ内のすべてのハイパーリンクのhrefとすべてハイパーリンクのhrefがhttp://localhost:8800/gb/default.aspx
は基本的に私はすべてのハイパーリンクのhrefにブラウザのアドレスバーのURLから国コードを注入する必要がある今となっを変更する実行するとき現在のページ。
私は私が達成しようとしているものに少し近づいていると思いますが、今ではこの問題を分類するのに少し助けが必要です。私はこのエリアを変更する必要があると思うビット<action type="Rewrite" value="{R:1}{R:2}" />
私は正しい方向に私を助けてください。
ご協力いただきありがとうございます。私はチェックし、あなたのルールが私のために働くかどうかを知らせます。私は書き換えルールに1つ以上投稿しています。この投稿をチェックしてあなたの考えを共有してもらえますか?https://stackoverflow.com/questions/47581732/can-we-ignore-some-links-having-specific-css-class-during-iis-outbound-rewrite-r – Thomas
私はそれが動作しなかったことをテストします。 – Thomas
あなたのルールでなぜnegate = "true"ですか? – Thomas