1

MacOSXでZendServerCE5.6.0を使用しています。

Myhttpd.confには、仮想ホストファイルを追加する次の行があります。

Include conf/extra/httpd-vhosts.conf

そのファイルには、次のものがあります。

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName localtextil.drupal.lh
    DocumentRoot /usr/local/zend/apache2/htdocs/Obiz/LocalTextil-Portal/drupal
</VirtualHost>

したがって、定義上、アクセスしようとするlocaltextil.drupal.lhと、ドキュメントルートにリダイレクトされます。

問題は、そのホストにアクセスしようとするとエラーが発生することです。

そして、単にアクセスするlocalhostと、にあるサイトに移動し/usr/local/zend/apache2/htdocs/Obiz/LocalTextil-Portal/drupalます。

私はここで何が間違っているのですか?

4

1 に答える 1

0

2つのこと-最初に、仮想ホスト定義(私が理解しているように)がディレクトリとサーバー名の間のapacheのマッピングをオーバーライドすることです。最初に定義された仮想ホストは、マップが見つからない場合にapacheがデフォルトとして使用するものです。したがって、最初に一般的なセットアップ(元のドメイン名、この場合はlocalhostを反映)、次に特定のセットアップにする必要があります。

2つ目は、フォルダーがapacheに読み取り権限を付与した場所の外にある場合、エラーが発生する可能性があることです。ディレクトリのアクセス許可は、DocumentRootディレクティブによって設定されます-ただし、次のようになります。

これで、リクエストが到着すると、サーバーは最初にNameVirtualHostと一致するIPアドレスを使用しているかどうかを確認します。そうである場合は、IPアドレスが一致する各セクションを調べ、ServerNameまたはServerAliasが要求されたホスト名と一致するセクションを見つけようとします。見つかった場合は、そのサーバーの構成を使用します。一致する仮想ホストが見つからない場合は、IPアドレスに一致する最初にリストされた仮想ホストが使用されます。

結果として、最初にリストされた仮想ホストがデフォルトの仮想ホストになります。IPアドレスがNameVirtualHostディレクティブと一致する場合、メインサーバーのDocumentRootは使用されません。特定の仮想ホストと一致しないリクエストに対して特別な構成が必要な場合は、その構成をコンテナーに入れて、最初に構成ファイルにリストします。

名前ベースの仮想ホスティングに関するApacheドキュメントページはここにあります、それはいくつかのアイデアを与えるのに役立つはずです。基本的に、DocumentRootとサーバー名の定義を確認し、それらがすべて「正常」であることを確認する必要があります。

于 2012-05-08T14:54:52.497 に答える