最近仮想ホストについて研究していて、次のように2つの仮想ホストを構(gòu)成しました
そのうちの 1 つは ServerName が 127.0.0.1 に設(shè)定されています。次に、C ドライブの hosts ファイルに
そこで質(zhì)問(wèn)が來(lái)ます。
ブラウザに www.abc.com と直接入力すると、プロジェクト E:/wamp/crm にアクセスします。 www.abc.com は、ホストの 127.0.0.1 に対応していませんか? E:/wamp/wamp/www でアクセスする必要はありませんか?次に、ブラウザに 127.0.0.1 を直接入力すると、プロジェクト E:/wamp/wamp/www? にアクセスします。ここだけはわかりません。 。 。 。神様、助けてください。 。 。 。 。 。
小伙看你根骨奇佳,潛力無(wú)限,來(lái)學(xué)PHP伐。
公式ドキュメントはこちらです: 仮想ホストマッチングの詳細(xì)な議論
あなたは「名前ベースの仮想ホスト」に屬しています。この段落を読んでください:
簡(jiǎn)単に翻訳してみましょう。 vhost の IP とポートが一致すると (ここでは *:80 です)、Apache は vhost 構(gòu)成ファイル內(nèi)の vhost の順序に従ってそれらを順?lè)苏蘸悉筏蓼埂?接続が SSL を使用しており、サーバーがサーバー名最も一致すると判斷された IP アドレス
とポートの組み合わせをリストする VirtualHost ディレクティブが複數(shù)ある場(chǎng)合、殘りの手順の
「リスト」は、一致した仮想ホストのリストをその順序で參照します。設(shè)定ファイル
の表示をサポートしており、SSL クライアント ハンドシェイクに要求されたホスト名を持つ TLS 拡張子が含まれている場(chǎng)合、そのホスト名は、ホスト: ヘッダーがサーバーで使用されるのと同様に、以下で使用されます
非 SSL 接続
それ以外の場(chǎng)合、アドレスが一致した最初の名前ベースの仮想ホストが SSL 接続に使用されます
。サーバーが接続に使用する証明書(shū)が仮想ホストによって決定されるためです。
SSL 接続の場(chǎng)合、ホスト名は TLS ハンドシェイク情報(bào)の SNI に基づいて検索されます。 SNI がサポートされていない場(chǎng)合は、IP とポート (ここでも *:80 を指します) が一致する最初の仮想ホストと照合されます。
リクエストに Host: ヘッダー フィールドが含まれる場(chǎng)合、
ServerName または ServerAlias が一致する最初の vhost がリストで検索され、リクエストはその vhost から提供されます。Host: ヘッダー フィールドには一致するものがない場(chǎng)合は、最初の IP ポート (*:80 を參照) に一致する仮想ホストにスローしますポート番號(hào)を含めることができます。しかし、Apache は常にそれを無(wú)視し、クライアントがリクエストを送信した実際のポートと照合します。
HTTP ヘッダーにホスト情報(bào)が含まれている場(chǎng)合、
に一致する最初の仮想ホストと照合されます。場(chǎng)合によっては、ホストにポート情報(bào)が含まれていても、Apache がこのポートを読み取らないことがあります。
指定された IP アドレスを持つ構(gòu)成ファイル內(nèi)の最初の vhost が最も高い優(yōu)先順位を持ち、不明なサーバー名へのリクエスト、または Host: ヘッダー フィールドのないリクエスト (HTTP/1.0 リクエストなど) をキャッチします。
ServerName
或者ServerAlias
あなたがアクセスした abc.com は最初の CRM サイトですか?いいえ、127.0.0.1 ですか (アドレス バーに 127.0.0.1 を直接入力した場(chǎng)合のみ)。 いいえ、その場(chǎng)合はデフォルト (最初の crm の構(gòu)成) を使用します。
個(gè)人的には、serverName は無(wú)駄だと思うので、優(yōu)先適応原則に従って、ポート 80 が直接最初のルールになります。本當(dāng)に 2 つのサイトを接続したい場(chǎng)合は、ポート番號(hào)を使用して區(qū)別してください~
ドキュメントを読むこともできます。中國(guó)語(yǔ)文書(shū)の推奨翻訳者: Jin Buguo。
ドメイン名は IP に解決するために使用されるため、両方とも 127.0.0.1 です
2 つのポートも 80 であるため、最初のポートのみにアクセスできます
次のポートを 8080 に変更し、ポート 8080 を使用して 2 番目のポートにアクセスします