Apache gibt dieselbe Site von zwei Domänen zurück

Apache gibt dieselbe Site von zwei Domänen zurück

Ich habe ein Problem mit Apache, das ich einfach nicht beheben kann.

Ich habe zwei Domänen, die auf zwei verschiedene DocumentRoots in der Virtual Host-Datei verweisen. Ich bekomme das jedoch nicht richtig zum Laufen, die Site, die ich hinzufügen wollte, wurde von der zweiten Domäne aus überhaupt nicht angezeigt, sondern stattdessen die erste Site (soweit ich weiß, ist das die Standardeinstellung und bedeutet, dass mit meinem zweiten virtuellen Host etwas nicht stimmt).

Ich konnte dieses Problem umgehen, indem ich meine neue Website vor den ersten virtuellen Host stellte. Das bedeutete, dass die neue Website zwar angezeigt wurde, aber framesetvon Apache in ein Tag eingefügt wurde und ich den Header nicht steuern konnte.

Ausführen von Apache 2.2.22 auf Raspbian (Debian Linux)

Hier ist mein aktueller Code;

<VirtualHost *:80>
ServerName DIR0.com
ServerAlias www.DIR0.com

DocumentRoot /var/www/DIR0.com/public_html
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/DIR0.com/public_html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/errors_DIR0.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access_DIR0.log combined

</VirtualHost>

<VirtualHost *:80>

    ServerName DIR1.com
    ServerAlias www.DIR1.com

DocumentRoot /var/www/DIR1/public_html
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/DIR1.com/public_html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error_DIR1.log

LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access_DIR1.log combined

</VirtualHost>

Antwort1

Überprüfen Sie, ob Sie Folgendes eingestellt haben:

NameVirtualHost *:80

in Ihrer Konfigurationsdatei. Diese Anweisung ermöglicht die Verwendung des Servernamens zur Identifizierung des VirtualHost. Wenn dies fehlt, verwenden Sie IP/Port zur Identifizierung des VirtualHost, was für beide VirtualHosts gleich ist.

verwandte Informationen