/ 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に解決するにはどうすればよいですか?
Chrisがすでに書いたように、問題は「othersite.dev」が数ではないことです。必要な形式はIP hostname1 [hostname2] [hostname3]
です。
しかし、より深い問題は、Hostファイルに関する誤解であり、おそらくDNS全般に関する誤解です。基本的に、Hostファイルはリダイレクト用に設計されていません。これは、CPUサイクルが高額になったときからのシンプルなソリューションでした。ファイルを手動で編集しなくても、急速に変化するIPアドレスに対応する機能などの機能はありませんでした。これらの問題は、ホストファイルからネットワークベースのリゾルバーシステムに切り替えることで解決されました。
したがって、問題に対する本当の答えは、/etc/hosts
を使用するのではなく、代わりに この階層型分散命名システム を使用することです。いくつかの方法でそれを行うことができます。 1つの方法は、Chrisによって提案されたCNAMEです。別の方法は、2番目のサーバーに固定IPアドレスを与えることです。両方とも実際の静的アドレス、またはDHCPサーバーで予約します。
/ etc/hostsの形式は「IP」「ホスト名」です-127.0.0.1 localhost
のように
必要なものを実現するには、ローカルDNSサーバーにCNAME
が必要です。 「othersite.dev」のIPを取得して「testitalpha.dev」と同じように「testitbeta.dev」にリンクすることができますが、そのIPが変更されると、/etc/hosts
ファイルも変更する必要があります。
Othersite.comに動的IPがあるが、常に名前でアクセスできる場合は、常に名前で参照することにより、登録されたDNSに依存する必要があります。
あなたの解決策は、testsitebeta.devをothersite.comのリダイレクトURLにすることです。
ServerName testsitebeta.dev Redirect/ http://othersite.com
このようにして、othersite.comは常に機能し(不正なHostエントリで壊れることはありません)、名前を適切なIPに解決することにより、testsitebeta.devは常にothersite.comにリダイレクトされます。