Virtuelle hosts subdomains zeigen auf Falsches Verzeichnis
Ich erstellt 2 virtuelle hosts http://web1.com:2107 zeigt auf "/var/www/web1" Ordner und zweite http://web2.com:2107 zeigt auf "/var/www/web2". alle subdomains im web2 arbeiten gut, Aber im Falle von "web1".com:2107 ich in der Lage bin zu sehen, nur die home-Seite. wenn ich versuche, öffnen Sie eine beliebige subdomain von web1 wie http://Spiele.web1.com:2107 es Punkte zu web2 Startseite ie /var/www/web2/Verzeichnis
Gibt es etwas falsch in der Konfiguration ?
unten ist der code für hosts, ich bin mit
<VirtualHost *:80>
ServerName web2.com
ServerAdmin [email protected]
ServerAlias http://www.web2.com
DocumentRoot /var/www/web2
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/web2>
Options Indexes FollowSymLinks Multiviews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin//usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/www/web2/error80.log
CustomLog /var/www/web2/access80.log Combined
</VirtualHost>
<VirtualHost *:2107>
ServerName web2.com
ServerAdmin [email protected]
ServerAlias http://www.web2.com
DocumentRoot /var/www/web2
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/web2>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin//usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/www/web2/error.log
CustomLog /var/www/web2/access80.log Combined
LogLevel warn
CustomLog /var/log/apache2/web2.com_access.log combined
Alias /doc/"/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
===================================================================
NameVirtualHost *:2107
<VirtualHost *:2107>
ServerName web1.com
ServerAlias http://web1.com
DocumentRoot /var/www/web1
<Directory /var/www/web1/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
ErrorLog /var/www/web1/error.log
CustomLog /var/www/web1/access.log Combined
</VirtualHost>
Ich hatte das gleiche und in meinem Fall Teil mit "NameVirtualHost *:80" war ich eine Datei, die nicht im Haupt-httpd.conf - so vhosts wurden nicht aktiviert, und daher alle auf in die default-vhost.
InformationsquelleAutor www.amitpatil.me | 2011-12-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie mehrere VirtualHosts einer von Ihnen ist der default VirtualHost.
Es ist das erste in der alphabetischen Reihenfolge der Dateinamen mit der definition der VirtualHost.
Wenn Sie entfernen einen VirtualHost. Wenn Sie noch ein Eintrag in der Datei Hosts oder ein DNS-Eintrag, wenn die Abfrage ausgeführt wird, auf Ihrem Apache-server, wenn Sie nicht finden können, den richtigen VirtualHost (ServerName oder ServerAlias), dann wird der default genommen wird zum verarbeiten der Antwort.
Beim hinzufügen eines neuen VirtualHost, wenn Sie einen Fehler machen, der in der ServerName oder ServerAlias Sie haben auch die Standard-VH.
Update
Nun, die Frage ist abgeschlossen, ich kann sehen, dass Sie nicht mit ServerAlias in der richtigen Weise. Alle Ihre sub-domains aufgeführt werden sollte in der ServerAlias-Richtlinien, ohne http://
So sollten Sie haben:
Könnten Sie vielleicht versuchen, ein *.web1.com.
Sonst, wenn Sie einen Namen verwenden, das nicht aufgeführt ist, wird die Standard-vhost verwendet wird (und hier vhost web2.com definiert ist vor, so ist es, das standardmäßig auf diesem port)
AllowOverrid Allen Mitteln, die Sie haben können .htaccess-Dateien hinzufügen Dinge, um Ihre conf. Keine statt, und entfernen Sie Multiviews
Ich habe die änderungen gemacht, aber noch immer dasselbe problem..., wenn ich offen subdomains es Punkte Falsches Verzeichnis 🙁 gibt es irgendetwas, was ich bin fehlt ??
fügen Sie verschiedene AccessLog-Direktiven in Ihren VH und überprüfen Sie die eine, die ist wirklich der hit. Führen Sie
Apache2 -S
zur Liste der verfügbaren VH, etc. Und Bearbeiten Sie Ihre Fragen mit code von beiden VH, nicht nur eine.Ich habe gerade versucht, indem Sie unterschiedliche Zugriffs-Protokoll sowohl für die VH, wenn ich offen web1 es meldet web1 log-Datei, web2 Anmeldung web2 s access log. es ist kein mischen
InformationsquelleAutor regilero
Nach dem ändern der Apache-Conf, müssen Sie den Dienst neu zu starten. Nicht sicher, ob das war das problem, aber es schadet nie, um zu überprüfen 😉
Oh, ich sehe, leider konnte ich nicht mehr helfen dann froh, dass Sie habe es funktioniert aber nicht 😛
InformationsquelleAutor SuperTron
Nun, ich habe das problem zur Hälfte, dort wurde der Eintrag Links hinten in der HOSTS-Datei so, dass die Seite noch vorhanden war mit gelöscht host-Namen-Eintrag. Jetzt ist das halbe problem immer noch da. jetzt habe ich eine weitere host-Eintrag und wies auf diff Lage, aber immer noch seinen verweisen auf alten Speicherort 🙁
InformationsquelleAutor http://www.amitpatil.me
Für Cloudflare Benutzer wich habe einige Probleme mit SSL und einer falschen Verzeichnis:
Ändern Sie den SSL-Modus bei Crypto von
Flexible
zuFull
.Dieser hat mir geholfen.
InformationsquelleAutor COOLGAMETUBE