web-dev-qa-db-ja.com

ドメインをローカルで別のドメインにリダイレクトするにはどうすればよいですか?

/ etc/hostsファイルは次のようになります。

127.0.0.1       localhost
10.20.7.67      testsitealpha.dev
othersite.dev   testsitebeta.dev

最初の2つの作業。最後のものはしません。何故なの?どうすれば機能しますか?これを行う理由は、ローカルネットワーク上にテストサーバー(othersite.com)があるためですが、IPは異なる場合があります。例えば10.20.7.98 1日、10.20.7.35別の日など.

では、システムでtestsitebeta.devを常にothersite.devと同じIPに解決するにはどうすればよいですか?

26
Benubird

Chrisがすでに書いたように、問題は「othersite.dev」が数ではないことです。必要な形式はIP hostname1 [hostname2] [hostname3]です。

しかし、より深い問題は、Hostファイルに関する誤解であり、おそらくDNS全般に関する誤解です。基本的に、Hostファイルはリダイレクト用に設計されていません。これは、CPUサイクルが高額になったときからのシンプルなソリューションでした。ファイルを手動で編集しなくても、急速に変化するIPアドレスに対応する機能などの機能はありませんでした。これらの問題は、ホストファイルからネットワークベースのリゾルバーシステムに切り替えることで解決されました。

したがって、問題に対する本当の答えは、/etc/hostsを使用するのではなく、代わりに この階層型分散命名システム を使用することです。いくつかの方法でそれを行うことができます。 1つの方法は、Chrisによって提案されたCNAMEです。別の方法は、2番目のサーバーに固定IPアドレスを与えることです。両方とも実際の静的アドレス、またはDHCPサーバーで予約します。

12
Hennes

/ etc/hostsの形式は「IP」「ホスト名」です-127.0.0.1 localhostのように

必要なものを実現するには、ローカルDNSサーバーにCNAMEが必要です。 「othersite.dev」のIPを取得して「testitalpha.dev」と同じように「testitbeta.dev」にリンクすることができますが、そのIPが変更されると、/etc/hostsファイルも変更する必要があります。

3
Chris

Othersite.comに動的IPがあるが、常に名前でアクセスできる場合は、常に名前で参照することにより、登録されたDNSに依存する必要があります。

あなたの解決策は、testsitebeta.devをothersite.comのリダイレクトURLにすることです。

ServerName testsitebeta.dev Redirect/ http://othersite.com

このようにして、othersite.comは常に機能し(不正なHostエントリで壊れることはありません)、名前を適切なIPに解決することにより、testsitebeta.devは常にothersite.comにリダイレクトされます。

1
user557515