15

(質問に直接スキップできますが、コンテキストは背景セクションにあります。)

技術的背景

  • ウィンドウズ8
  • IIS7

バックグラウンド:

他の何人かと同じように、私は IIS を使用しており、時々、サイトのローカル バージョンをセットアップする必要があります。現在、異なるサイトをセットアップする際に、それらが重複しないように異なるポートを割り当てることは非常に一般的です。したがって、サイト A をポート 80 に、サイト B をポート 81 に、というように設定できます。

ここで、バインディングをセットアップして、ポート 80 の下で複数のサイトを持つことができるようにし、ヘッダー ホストの区別を使用して、これらのサイトに意味のある URL を同時に与えることができるようにします。

これを行うオプションは、次のようなエントリを hosts ファイルに追加することです。

127.0.0.1 siteA.com
127.0.0.1 siteB.com

これで、siteA.com または siteB.com を参照して、ローカルで動作させることができるはずです。

しかし、localhost は既に 127.0.0.1 に一致するように設定されているので、もう 1 つステップを踏みたいと思います。

質問:

IIS バインディングを次のように設定しました。

site    host header       port
siteA   siteA.localhost   80
siteB   siteB.localhost   80

そして、 http://siteA.localhost/http://siteB.localhost/を参照して自分のサイトを取得できると期待していました。

しかし、ブラウジングすると、リクエストが IIS に届かないようで、アドレスが解決されません。

なぜそれが機能しないのですか?


アップデート:

なぜこれがうまくいかないのかを彼が説明したので、私はchue xの答えを選びました。*.localhost私と同じ道をたどる可能性のある人は、「まあ、 hosts ファイルを追加するだけでいいのに」と思うかもしれません。*.localまたは、または*.localdev.comまたはそのようなものに切り替えることさえできます。

ただし、それは機能しません: Windows ホスト ファイルのワイルドカード

chue x が指摘したように、現時点での唯一のアプローチは、ホスト ファイルにエントリを追加し続けるか、リンクされた質問で説明されているように、別の DNS サーバーを使用することです。

4

1 に答える 1