1

現在、rewritemaps.config と呼ばれる URL 書き換え用の外部ファイルを使用して作業しています (これらの手順に従ってください)。ただし、代わりに web.config の手動エントリでそのファイルのエントリをオーバーライドする機会があり、それらは機能していないようです。

具体的には、この問題は、Google でのコンテンツ エクスペリメント (A/B テスト) の使用に関連して発生しました。これは、URL でクエリ文字列を多用しています。クエリ文字列は次の形式を取ります。

websiteurl.com/webpage1?utm_expid=########-#&utm_referrer=http%3A%2F%2Fwebsiteurl.com%2F

コンテンツの実験を検証しようとすると、エラーが発生する

Web サーバーが utm_expid を拒否します。お使いのサーバーは、URL にクエリ引数を追加することをサポートしていません。

...これは、rewritemaps.config ファイルに次の行があるため、その特定の URL に当てはまります。

<add key="/webpage1" value="/somefolder/file.aspx?id=18" />

書き換えルールは正常に機能しますが、web.config の手動エントリは機能していないようです。rewritemaps.config の行をコメント アウトして /webpage1 にアクセスしようとすると、予期される 404 でエラーが発生します。しかし、web.config で次のような手動エントリを使用しようとしています。

<rule name="test rewrite" stopProcessing="true">
<match url="^(https?:\/\/)?websiteurl.com\/webpage1(.*)*" />
<action type="Rewrite" url="{R:1}/somefolder/file.aspx?id=18" appendQueryString="false" />
</rule>

前に書き換えルールを配置しています

<rewriteMaps configSource="rewritemaps.config" />

query_string 条件、appendQueryString を true および false に追加しました。ワイルドカード patternSyntax を使用しても何も機能しないため、外部 rewritemaps がある場合、手動で web.config に書き換えルールを追加できないと考えるようになりました。 .config ファイル。

これは本当ですか?その場合、書き換えでクエリ文字列を許可する機能を追加する必要があるため、書き換えルールを手動でオーバーライドするにはどうすればよいですか?

4

1 に答える 1