2

当社は長年にわたり、製品名を保護するために複数のドメイン名を所有してきました。私たちのウェブサイトが最初にセットアップされたとき、これらすべてのドメイン名は、今まで正常に機能していた IP アドレスに解決されていました。ASP.NET MVC でサイトを書き直し、Recaptcha を使用するようになりました。Recaptcha キーは、メイン ドメインである「www.example.com」に登録されます。「www.examples.com」や「www.ex-ample.com」など、同じ IP アドレスを指す他のドメインがあります。誰かが別のドメインからサイトにアクセスした場合、その別のドメインにキーが登録されていないため、Recaptcha は機能しません。「www.examples.com」から入ってくるすべてのものを「www.example.com」にリダイレクトしたいと考えています。

IIS でサイトを設定し、永続的なリダイレクトを使用できると読みましたが、ドメインがすべて同じ IP アドレスを指している場合、これは機能しますか?

MVC に切り替えたときに多くのページが移動したため、IIS 7 の書き換えモジュールもインストールしました。ルールを書くことは可能ですか?

使用すべきより良い代替手段はありますか?

これに光を当てるための助けがあれば大歓迎です。


IIS でドメインを設定するのに問題はありません。ドメインがすべて同じ IP アドレスを指している場合、これは機能しますか? www.example.com (192.168.1.1) にアクセスすると、www.examples.com (192.168.1.1) に行き着き、www.example.com にリダイレクトされ、同じ IP にあるため無限ループが発生します。住所?


CNAME は Windows 2003 DNS サーバーでどのように行われますか?

4

4 に答える 4

0

はい、IIS URL Rewriteモジュールを介してこれを実現できます。

次に例を示します。

    <rule name="WWW Redirect" stopProcessing="true">
     <match url=".*" />
     <conditions>
      <add input="{HTTP_HOST}" pattern="^examples.com$" />
     </conditions>
     <action type="Redirect" url="http://www.example.com/{R:0}" redirectType="Permanent" />
    </rule>
于 2008-12-31T18:52:00.793 に答える
0

わかりました、私の CNAME ソリューションに加えて、次のことを行う必要があります。

IIS ソリューションは、IIS マネージャーで 2 つのサイトをセットアップすることです。

  1. example.com (ホスト ヘッダーに設定) は、適切なホーム ディレクトリを指す実際のサイトです。
  2. 他のすべてのドメインは、[プロパティ] -> [Web サイト] -> [詳細設定] にホスト ヘッダーが追加された 1 つの「Web サイト」の下にセットアップされます。ホーム ディレクトリは、example.com へのリダイレクト URL にします。

このアプローチの問題は、www.examples.com/somepage.htm へのリクエストが example.com/ に転送されると私が信じていることです。(example.com/somepage.htm を指すことはありません)

IIS7 (または Isapi_Rewrite アドオンを使用した IIS6) でできることは、リダイレクト Web サイトに .htaccess エントリをセットアップして、すべてのトラフィックを example.com に送信し、パスとクエリ文字列情報を追加することです。

于 2008-12-31T18:20:49.250 に答える
0

CNAME アプローチでは、1 つのドメイン名を選択して、それをプライマリにする必要があります。したがって、www.example.com を頼りにすると、他のすべてのドメイン名がこれにリダイレクトされます。これで無限ループを回避できます。

サーバー上で構成をセットアップして、ブラウザが複数のドメインで単一の Cookie を参照できるようにする方法もあります。この場合は www.example.com、次に www.examples.com と www.ex-ample の場合です。 com www.example.com の recaptha セッション情報を読み取ろうとすると、うまくいきます。これにより、ブラウザに複数の URL を保持し、共有セッションをサポートできます。

個人的には、それらすべてを単一のドメインにリダイレクトするだけで、実装がはるかに簡単になります。

そうする:

127.0.0.1        A       example.com
www.exmaple.com  CNAME   example.com
examples.com     CNAME   example.com
www.examples.com CNAME   example.com

編集:はい、これを書いているときは寝ていました。これはソリューションの一部にすぎません。残りの部分を以下に投稿しました。

于 2008-12-04T20:16:55.133 に答える
-1

私の頭のてっぺんから、ここでDNS CNAMEを調べたいと思うかもしれません.

別の可能な解決策は、他のすべてのドメインのドメイン エイリアスを使用して IIS で Web サイトをセットアップし、その Web サイトでユーザーをプライマリ ドメイン/サイトにリダイレクトさせることです。

于 2008-12-04T20:05:41.803 に答える