2

シナリオを想像してみてください。

wellspell.com

同じように

wellspeel.com
weelspell.com
weelspeel.com

MVC アプリケーションが正しいドメイン名でのみ動作するようにしたい。

私の現在の問題は、現在の DNS コントロール パネルでCNAMEがサポートされていないことに*.wellspeel.comあります。www.wellspeel.comwellspeel.com

http://wellspeel.comにリダイレクトできる最も簡単な構成は何http://wellspell.comですか?

私が今持っているのは、最初のコントローラーにrequestContext.HttpContext.Request.Url.Hostあります.

requestContext.HttpContext.Response.RedirectPermanent("http://wellspell.com");

しかし、これはすでにコントローラーの初期化の中にあります...コントローラーに到達する前にリダイレクトを行うことはできますか?

に関するドキュメントを探していましたUrlRoutingModuleが、数回試行した後、失われました...

誰かが私に正しい方向を示すことができますか、または誰かが問題を抱えていて、どうやってそれを解決しましたか?


PSまた、新しいWebサイトで単純なハンドラーを作成し、そのWebサイトバインディングですべての「悪い」ドメインを追加して、そこからリダイレクトすることも考えていました。おそらく単純なXML構成を使用して、更新を容易にします...

4

1 に答える 1

1

IIS 7 以降を実行している場合は、HTTP リダイレクトを確認するだけで、コードを立てる必要がなくなります。

編集:何らかの理由で、可能なドメインごとにIISサイトを立ち上げていると想定していました。IIS サイトを 1 つだけセットアップし、考えられるドメインごとに複数のバインディングを含める場合は、IIS URL 書き換えルールの使用を検討することをお勧めします (これにより、ルールが実行される前にコードを構成する必要がなくなります)。 MVC パイプライン)。

HTTP_HOST具体的には、条件入力に興味があると思います。

(テストされていない)例を次に示します。

<system.webServer>
    <rewrite>
        <rules>
            <rule name="SpellingErrorOne" stopProcessing="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="^weelspeel.com" />
                </conditions>
                <action type="Redirect" url="http://wellspell.com" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

処理するドメインごとにルールを追加するだけです。は<condition>、アクション (リダイレクトなど) を実行するために検証する必要がある基準として機能します。

于 2013-05-02T20:48:10.043 に答える