Warum kann ich in meinem Apache nicht zwei virtuelle Hosts einrichten?

Warum kann ich in meinem Apache nicht zwei virtuelle Hosts einrichten?

Apache wurde auf meinem Debian installiert, ich möchte zwei Domänennamen mit unterschiedlichen Verzeichnissen verknüpfen.

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

Zwei Domänennamen, alle an 127.0.0.1 gebunden.

Katze /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>

Speichern Sie dieselbe Datei test.html sowohl in als /var/www/htmlauch in /home/debian9/app.

<p>it is a test</p>

Warum www.hwy.local/test.htmltritt beim Öffnen www.test.app ein Fehler auf?

This site can’t be reached 

Antwort1

Das Problem liegt nicht bei Apache, sondern bei Ihrer /etc/hostsDatei.

Sie können in der Hosts-Datei nur eine Zeile pro IP-Adresse haben. Ihre Hosts-Datei sollte also folgendermaßen aussehen:

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

mit allen Einträgen für 127.0.0.1 in einer und derselben Zeile.

verwandte Informationen