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 frameset
von 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.