
Ich verwende den relativen Stammpfad für alle Links in PHP-Dateien, etwa „url(/img/myimj.jpg)“.
Auf dem Godaddy-Hostserver funktioniert das einwandfrei.
Aber ich möchte es auf meinem lokalen Host ausführen. (Ubuntu 9, Apache 2, PHP 5)
Beispielsweise habe ich meine Site in var/www/siteone gespeichert, eine andere in var/www/sitetwo,
und das Stammverzeichnis ist auf „var/www“ eingestellt.
Jetzt besteht das Problem darin, dass ein href="/" nicht auf var/www/siteone, sondern auf var/www/ verweist.
Gibt es eine Möglichkeit, für unterschiedliche Sites unterschiedliche Dokumentstämme zu definieren?
Ich bin ein Anfänger in der Webentwicklung und nicht sicher, ob Virtual Host das kann.
Kann das jemand erklären?
Danke für deine Antworten.
Ich muss dieser Datei /etc/apache2/sites-available/default einen neuen virtuellen Host hinzufügen
Aber ich bin immer noch verwirrt, wie ich das für localhost mache? Die Standard-IP und der Standard-Port sind immer 127.0.0.1:80
Antwort1
Jeder <VirtualHost>
Abschnitt kann seine eigene DocumentRoot
Anweisung haben.
Antwort2
Ich persönlich verwende viel VirtualDocumentRoot:
http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html#virtualdocumentroot
Mit dieser Anweisung können Sie beispielsweise Folgendes tun:
VirtualDocumentRoot /var/www/%-2/%-3/
%-2 ist das „zweite Element von rechts“, also ist es exemple in exemple.com
%-3 ist das dritte Element von rechts, also ist es foo in foo.exemple.com
Dann müssen Sie nur noch Ordner erstellen, die Ihren Hostnamen entsprechen:
localhost/ sieht wie folgt aus:
/var/www/localhost/_/
Beachten Sie das _, wo kein Wert steht (ich erstelle immer einen symbolischen Link wie _ -> www)
Daher
wird www.site1.com zu /var/www/site1/www/.
www.site2.com wird zu /var/www/site2/www/.
localhost wird zu /var/www/localhost/_/.
dann viel Spaß mit Symlinks :-)