0

C:\Program Files\Apache Software Foundation\Apache2.2 に apache をインストールした Windows XP マシンがあります。

httpd.conf でドキュメント ルートを DocumentRoot "C:/projects" として設定し、私のプロジェクトは c:\projects の proj1 と proj2 です。

<VirtualHost *:80>
 DocumentRoot "C:/projects/proj1"

 ServerName  proj1

</VirtualHost>

<VirtualHost *:80>

 DocumentRoot "C:/projects/proj2"

 ServerName  proj2

</VirtualHost>

proj1 と proj2 の両方に index.php ファイルがあります。追加した

127.0.0.1 プロジェクト 1

127.0.0.1 プロジェクト 2

hostsファイルにも。

それでも、http://proj1と入力すると、ファイルのリストしか表示されず、仮想ディレクトリが機能していません。私は何が欠けていますか?

4

2 に答える 2

1

Apache の再起動/リロードの他に、確認すべき点がいくつかあります。

まず、有効な vhost 構成の例を次に示します。

<VirtualHost *:80>
    ServerName proj1
    DocumentRoot "c:/www/proj1"
    <Directory "c:/www/proj1" >
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName proj2
    DocumentRoot "c:/www/proj2"
    <Directory "c:/www/proj2" >
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

proj1proj2の両方に独自のVirtualHostディレクティブがあることに注意してください。

次に、vhosts 宣言が Apache によってロードされていることを確認します。私のものを機能させるために、次の行のコメントを外す必要がありましたhttpd.conf

# Virtual hosts
Include conf/extra/httpd-vhosts.conf
于 2009-12-07T21:40:06.467 に答える
0

すべての構成ファイルを確認せずに十分な情報を得ることができませんが、確認すべき点がいくつかあります。

  • 起動時のApacheエラーログにヒントはありますか?
  • 構成ファイルのどこかに NameVirtualHost *:80 があり、そのステートメントが仮想ホストの前にロードされていることを確認してください。
  • proj1 ディレクトリのディレクトリ リストが表示される場合は、仮想ホストが機能しており、ディレクトリのアクセス許可とプロパティ (インデックス ファイル、許可されているディレクトリ リストなど) を調整できます。
于 2009-12-07T21:44:59.813 に答える