2

たとえば、単一のドメインにリダイレクトする必要がある多数のドメインをエレガントにキャプチャしようとしています。

mydomain.com、www.mydomain.com、mydomain-eu.com、mydomain.eu

すべてメインドメインに:

www.mydomain.co.uk

これは、IIS でサイトを作成し、すべてのドメインをバインドしてリダイレクトすることで、かなり簡単に実行できます。

ただし、落とし穴があります。クライアントは、Google アナリティクスでこれらのリダイレクトがどこから来たのかを追跡したいと考えています。

そのため、リダイレクト URL で渡すいくつかのパラメーターが必要です。例 (上記のドメインを使用):

mydomain.eu のリダイレクト先: www.mydomain.co.uk?utm_campaign=mydomain.eu&utm_source=mydomain.eu&utm_medium=referral

したがって、これは URL 書き換えを使用するのに適したケースです。これは私がweb.configに持っているものです:

   <rule name="Redirect" enabled="false" patternSyntax="Wildcard" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^www.mydomain.co.uk$" negate="true" />
            </conditions>
            <action type="Redirect" url="http://www.mydomain.co.uk/?utm_campaign={R:0}&amp;utm_source={R:0}&amp;utm_medium=referral" />
        </rule>

入力が希望するドメインと一致しない場合は、リダイレクトしています。

それは1つのことを除けば完全に機能します。元のドメインのパラメーターを取得できません。{R:0} は空白を返します。{C:0}も試しました。GUI でパターンをテストしたところ、要求されたドメインを取得する必要があることがわかりました。

私は何を間違っていますか?ありがとう。

4

2 に答える 2

0

ガイダンスをありがとう@rtpHarry。上記のルールはうまくいきませんでしたが、IIS7 サーバー用に微調整することができました。

<rule name="Redirect" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^www.tsogosundigishare.com$" negate="true" />
    </conditions>
    <action type="Redirect" url="http://www.tsogosundigishare.com/" redirectType="SeeOther" />
</rule>

enabled="false"ルールからandを削除することpatternSyntaxで、ルールを " Wildcard" から " "に変換し、リダイレクトを適切Regular Expressionに追加しました。redirectType="SeeOther"

于 2014-09-11T23:59:54.933 に答える