Почему я не могу установить два виртуальных хоста в Apache?

Почему я не могу установить два виртуальных хоста в Apache?

На моем Debian установлен Apache, я хочу привязать два доменных имени к разным директориям.

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

Два доменных имени привязаны к 127.0.0.1.

cat /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файле.

В файле hosts может быть только одна строка на IP-адрес. Поэтому ваш файл hosts должен выглядеть следующим образом:

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

со всеми записями для 127.0.0.1 на одной и той же строке.

Связанный контент