Apache で 2 つの vhost を設定できないのはなぜですか?

Apache で 2 つの vhost を設定できないのはなぜですか?

Apache が Debian にインストールされました。異なるディレクトリで 2 つのドメイン名をバインドしたいと考えています。

cat  /etc/hosts
127.0.0.1  hwy.local  www.hwy.local  
127.0.0.1  test.app   www.test.app

2 つのドメイン名はすべて 127.0.0.1 にバインドされています。

/etc/apache2/sites-available/000-default.conf を編集します。

<VirtualHost *:80>
    ServerName www.hwy.local
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error_hwy.log
    CustomLog ${APACHE_LOG_DIR}/access_hwy.log combined
        <Directory /var/www/html>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
        </Directory>
</VirtualHost>
<VirtualHost *:80>

ServerName www.test.app
ServerAdmin webmaster@localhost
DocumentRoot  /home/debian9/app
ErrorLog ${APACHE_LOG_DIR}/error_app.log
CustomLog ${APACHE_LOG_DIR}/access_app.log combined
    <Directory /home/debian9/app>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

test.html の両方に同じファイルを保存します。/var/www/html/home/debian9/app

<p>it is a test</p>

なぜwww.hwy.local/test.html開くことができず、www.test.app エラーが発生するのでしょうか。

This site can’t be reached 

答え1

問題は Apache ではなく、ファイルにあります/etc/hosts

ホスト ファイルには、IP アドレスごとに 1 行しか記述できません。したがって、ホスト ファイルは次のようになります。

127.0.0.1  hwy.local  www.hwy.local  test.app   www.test.app

127.0.0.1 のすべてのエントリが 1 つの行に含まれます。

関連情報