2012-05-08 7 views
1

私はMac OSX上でZend Server CE 5.6.0を使用しています。私がしようとすると、Zend Server CEとMac OSXのバーチャルホストに関する問題

NameVirtualHost *:80 

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

ので、定義によって:

そのファイルでInclude conf/extra/httpd-vhosts.conf

、私は以下の持っている:私のhttpd.conf

は、仮想hostsファイルを追加し、次の行を持っていますlocaltextil.drupal.lhにアクセスするには、ドキュメントルートにリダイレクトする必要があります。

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

localhostにアクセスすると、私は/usr/local/zend/apache2/htdocs/Obiz/LocalTextil-Portal/drupalにあるサイトに行きます。

私はここで間違っていますか?

答えて

0

まず、仮想ホストの定義(私が理解しているように)は、ディレクトリとサーバー名の間のapacheのマッピングを上書きします。最初に定義されたバーチャルホストは、マップが見つからない場合にApacheがデフォルトとして使用するものです。そのため、最初に設定した固有の設定(あなたの元のドメイン名、場合によってはlocalhostを反映)を指定してください。

第2に、あなたのフォルダが読めるようにApacheのアクセス権を与えられた場所の外にある場合、エラーが発生する可能性があります。ディレクトリアクセス権はDocumentRootディレクティブによって設定されますが、次のようになります。

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

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

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

+0

「最初に定義されたバーチャルホスト」という意味を理解できません。私は定義された他の仮想ホストを持っていません。フォルダについては、アクセス許可の意味は? –

+0

さらに詳しい情報を追加しました。 – dmp

+1

欠けていたのは、ホストを/ etc/hostsファイルに追加する必要があったため、そのホストが呼び出されたときに、そのホストが127.0.0.1を指している必要があるということです。したがって、 'localhost'にのみアクセスすると、あなたが言ったように、最初の仮想ホストセットに行きます。どうもありがとう。 –

関連する問題