2017-04-10 4 views
0

Ich habe einen Cloud-Server mit Lampp installiert. Ich hatte einen virtuellen Host hier so konfiguriert:Zugriff auf einen Server-Apache mit Virtualhost

<VirtualHost xx.xxx.xx.xxx:80> 
    DocumentRoot "/opt/lampp/htdocs/folder/" 
    ServerName www.xxx.com 
</VirtualHost> 

und alles funktioniert, wie ich erwarte, wenn ich gehe www.xxx.com ich meine ‚Ordner‘ Website.
Jetzt muss ich zu einer anderen Seite auf dem gleichen Server arbeiten, aber es hat noch keine Domäne, also hatte ich mir vorgestellt (durch Lesen der Erklärung der Apache-Konfigurationsdatei), dass ich es auf diese Weise tun muss:

<VirtualHost xx.xxx.xx.xxx:80> 
    DocumentRoot "/opt/lampp/htdocs/folder/" 
    ServerName www.xxx.com 
</VirtualHost> 
<VirtualHost xx.xxx.xx.xxx:80/test> 
    DocumentRoot "/opt/lampp/htdocs/test/" 
</VirtualHost> 

Aber es funktioniert nicht, wenn ich http://xx.xxx.xx.xxx:80 erreiche ich die ‚Ordner‘ Seite, während, wenn ich http://xx.xxx.xx.xxx:80/test tue vielmehr die die ‚Test‘ Website erreichen i erreichen noch www.xxx.com, warum? Wie könnte ich dieses Ziel erreichen?

Antwort

1

Der zuerst definierte virtuelle Host (oberste) fungiert als Standardhost. Dieser wird verwendet, um auf alle eingehenden Anfragen zu antworten, die nicht sind, die durch einen bestimmten Hostnamen in der Anfrage übereinstimmen.

Sie wollen dieses Setup, um zu versuchen:

# some fallback host for testing and development 
<VirtualHost xx.xxx.xx.xxx:80> 
    DocumentRoot "/opt/lampp/htdocs/_default" 
</VirtualHost> 
# a virtual host with a specific host name 
<VirtualHost xx.xxx.xx.xxx:80> 
    DocumentRoot "/opt/lampp/htdocs/example.com" 
    ServerName example.com 
    ServerAlias www.example.com 
</VirtualHost> 

(hier xx.xxx.xx.xxx steht für die Systeme der öffentlichen und routbare IPv4-Adresse)

In Ihrem Dateisystem Sie haben diese Hierarchie:

/opt/lampp/htdocs/ 
        _default/ 
          test1/ 
          test2/ 
        example.com/ 

Auf diese Weise werden Anfragen an http://example.com oder http://www.example.com dem Ordner 0 zugeordnet, Anfragen an URLs mit anderen Host-Namen für den Standardordner /opt/lampp/htdocs/_default, in dem Sie jetzt so viele Unterordner erstellen können, wie Sie möchten, für verschiedene Anwendungen.

Ein anderer Ansatz wäre die Verwendung anderer Hostnamen unter Ihrem bestehenden Domänennamen für interne Tests, so etwas wie test1.example.com oder ähnlich. Auf diese Weise müssen Sie keine rohen IP-Adressen mit ihrem Routing-Risiko verwenden.

+0

perfekte und präzise Antwort, alles funktioniert gut – mautrok

Verwandte Themen