2017-10-30 6 views
2

Ich habe so eine ProjektstrukturNginx. Laravel. So richten Sie mehrere Endpunkte in Unterordner

<root>/public/laravel_app/index.php — Laravel index file

<root>/public/index.php — CraftCMS index file

Ich möchte laden CraftCMS App bei

https://<domain>

und Laravel App bei https://<domain>/laravel_app

Hier ist meine vhost.conf

server { 
    listen 443 ssl; 

    index index.php index.html; 

    root /var/www/public; 

    ssl_certificate  /var/www/docker/certs/nginx.crt; 
    ssl_certificate_key /var/www/docker/certs/nginx.key; 

    location/{ 
     try_files $uri /index.php?$args; 
    } 

    location ~ \.php$ { 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     fastcgi_pass app:9000; 
     fastcgi_index index.php; 
     include fastcgi_params; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     fastcgi_param PATH_INFO $fastcgi_path_info; 
    } 
} 

Ich habe fast alle sahen durch SO Fragen im Zusammenhang und versucht haben, eine Menge Sachen, so, wenn es möglich ist, bitte senden an meine Config bezogene Vorschläge.

Ich bin kein Sysadmin und ich bin ein Apache-Benutzer (dort funktioniert es so ohne irgendwelche Feinabstimmungen), also entschuldige ich mich, wenn mir etwas offensichtlich fehlt.

+0

URL für Ihre CraftCMS Ist Umschreiben funktionierend? Damit ist nur das Laravel-Url-Umschreiben kaputt. Oder beides sind beide Werke? –

+0

@DharmaSaputra Laravel wird nicht geladen. Ich kann diesen Endpunkt nicht erreichen. nginx gibt alles durch die '/public/index.php'. –

+0

@DharmaSaputra oder ich kann Laravel arbeiten, indem ich die "root/var/www/public;" in "root/var/www/public/laravel_app;" ändere, aber ich ** kann nicht funktionieren beide **. –

Antwort

1

Sie sollten 2 url machen Ich denke, Umschreiben, weil laravel_app seine eigene index.php zum Umschreiben hat.

server { 
    ... 

    root /var/www/public; 

    ... 

    location/{ 
     try_files $uri $uri/ /index.php?$args; 
    } 

    location /laravel_app { 
     try_files $uri $uri/ /laravel_app/index.php?$args; 
    } 

    ... 
} 

Hope this arbeitet

+0

Hallelujah !! Vielen Dank) –

+0

Wenn ich Ihnen irgendwie helfen kann, zögern Sie nicht zu fragen) –

+0

Gern geschehen. (y) –

0

Änderung

location/{ 
    try_files $uri /index.php?$args; 
} 

zu

location/{ 
    try_files $uri $uri/ /index.php?$args; 
} 

Hinzufügen der $uri/ nginx für ein Verzeichnis mit dem uri Namen suchen erzählt.

+0

Danke, aber es funktioniert nicht. Es zeigt mir eine * CraftCMS * Fehlerseite, also lädt es '/public/index.php' –