0

Apache サーバーを構成しています。httpd.conf で、DocumentRoot を次のように設定します。

DocumentRoot "D:/phpwwwroot"

そして、ディレクトリノードを次のように設定しました。

<Directory "D:/phpwwwroot">
    Options Indexes FollowSymLinks
    AllowOverride All
   Order allow,deny
    Allow from all
</Directory>

現時点では、仮想ホストを有効にしていません。そして、私は url: にアクセスします。すべて問題ありませんhttp://localhost:8080/

次に、仮想ホストを設定しようとしました。仮想ホストのコメントを外しました。以下のように:

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

そして、私の httpd-vhosts.conf は次のとおりです。

NameVirtualHost *:8080

<VirtualHost *:8080>
    ServerName www.testphp1.com
    DocumentRoot "D:\VirtualRoot"
    DirectoryIndex index.shtml index.html index.htm index.php  
    <Directory "D:\VirtualRoot">  
        Options Indexes FollowSymLinks 
        AllowOverride all  
        Order allow,deny  
        Allow from all  
    </Directory>  
</VirtualHost>

<VirtualHost *:8080>
    ServerName www.testphp2.com
    DocumentRoot "D:\VirtualRoot1"
    DirectoryIndex index.shtml index.html index.htm index.php  
    <Directory "D:\VirtualRoot1">  
        Options Indexes FollowSymLinks 
        AllowOverride all  
        Order allow,deny  
        Allow from all  
    </Directory>  
</VirtualHost>

また、hosts ファイルを編集してマッピングを修正します。意味がわかるはずです。

127.0.0.1 www.testphp1.com
127.0.0.1 www.testphp2.com

次に Apache サーバーを再起動し、以下の URL にアクセスします。

http://www.testphp1.com:8080/
http://www.testphp2.com:8080/

全て大丈夫。それらは正しいフォルダーにマップされます。

にアクセスしようとするhttp://localhost:8080/と、最初の仮想ホストである www.testphp1.com に到達します。つまり、ページには何が表示されるかが表示さwww.testphp1.comれます。

「メインホスト」が動かないようです。

それはどのように起こりますか?修正方法

4

2 に答える 2

0

IPを使用してサーバーにアクセスしている場合と同じ状況です。この IP を使用する最初のアクティブな Web サイトが表示されます (localhostここでは IP として扱われます)。最初にメイン Web サイトを定義することで修正できます。

于 2013-09-04T06:26:42.930 に答える
0

次のようなメインホストも追加する必要があります。

<VirtualHost *:8080>
    ServerName localhost
    DocumentRoot "D:/phpwwwroot"

</VirtualHost>
于 2013-09-04T06:26:54.320 に答える