2015-05-18 6 views
5

Ich versuche meine httpd.conf einzurichten, um mehrere Laravel-Projekte in einem Unterverzeichnis ausführen zu können, ohne meine httpd.conf für jedes Projekt ständig zu aktualisieren.Mehrere Laravel 5-Projekte in einem Unterverzeichnis einrichten

Zum Beispiel

Ich mag würde in der Lage sein meine Seite 127.0.0.1/my_projects getroffen und mehrere dynamische Unterverzeichnisse haben, die meine besondere App ohne Bearbeitung httpd.conf starten würde. Ist das erreichbar?

+0

Warum aktivieren Sie nicht einfach "Optionen + Index"? – sitilge

Antwort

0

Sie können dies tun, indem Sie das Verzeichnis 'my_projects' in Ihrem öffentlichen Ordner erstellen (public, public_html usw.).

Zum Beispiel können Sie Laravel1- und Laravel2-Projekte in Ihrem 'my_projects'-Ordner platzieren, dann können Sie auf Ihre Projekte zugreifen, indem Sie' 127.0.0.1/my_projects/Laravel1 'und' 127.0.0.1/my_projects/Laravel2 'eingeben.

1

Sie können dies erreichen, indem Sie VirtualDocumentRoot verwenden.

In Ihrem Fall können Sie eine Entwicklung Sub-Domains für den Zugriff auf Ihre Websites einrichten.

<VirtualHost *:80> 
    ServerName testsites.localhost.com 
    ServerAlias *.test.localhost.com 
    VirtualDocumentRoot /var/www/dev/%1/public 
</VirtualHost> 

Nun, wenn Sie http://project1.test.localhost.com zugreifen es Sie /var/www/dev/project1/public Punkt wird, wird http://project2.test.localhost.com-/var/www/dev/project2/public Punkt und etc.

Um dies zu umgehen, müssen Sie auch die Modul virtual_host_alias ermöglichen

LoadModule vhost_alias_module modules/mod_vhost_alias.so 

Beachten Sie, dass Sie Einträge in Ihre /etc/hosts für Ihre Subdomains eingeben müssen und sie auf 127.0.0.1 auflösen müssen.

127.0.0.1 project1.test.localhost.com 
127.0.0.1 project2.test.localhost.com 

Wenn Sie nicht wollen, einen Eintrag für jede Ihrer Sub-Domains in den Hosts Datei schreiben Sie eine einfache DNS-Server einrichten betrachten können, wo Sie *.test.localhost.com alle Ihre Sub-Domains Platzhalter kann und sagen Sie ihnen zu 127.0.0.1 zu lösen

Sie können mehr über dynamische virtuelle Hosts here lesen.

0

Sie müssen 2 Ebenen von Verzeichnissen für jedes Unterprojekt eine für Öffentliche Ordner und andere für Laravel-Anwendung.

Sagen Sie zum Beispiel, dass Sie mehrere Laravel-Anwendungen innerhalb von 127.0.0.1/my_projects ausführen möchten. Sie müssen verschiedene Laravel-Instanzen (außer seinem 'Öffentlichen Ordner) in root setzen wir diese apps laravel1, laravel2, laravel3 usw. an.

Nun erstellen Sie für jedes Projekt unter 127.0.0.1/my_projects einen Unterordner, der verschoben werden soll Inhalt des Öffentlichen Ordners der entsprechenden Laravel App in diesem Unterordner und editiere die index.php Datei, um die entsprechende bootstrap.php Datei zu laden. d. h. seinen Pfad zu "../../laravel1/" oder "../../laravel2/" usw. machen.

Lassen Sie mich wissen, wenn Sie Fragen haben. Wird glücklich sein zu helfen.

Verwandte Themen