2015-12-31 12 views
5

Quando provo a utilizzare il framework PHP laravel, provo a collocarlo in una directory chiamata /home/usr/proj/laravel, ma come sappiamo che l'html pubblico di laravel è impostato in /home/usr/proj/laravel/public, quindi il mio problema è come rendere l'impostazione di nginx tale che quando accedo a mysite.com/laravel/ o mysite.com/laravel, di fatto siamo reindirizzati alla posizione laravel/public/index.php.nginx con sito in un subdir che non corrisponde alle estremità dell'URL

Inoltre, sembra che ci sia una regola di nignx che è suggerita dal funzionario della laravel, per rendere l'url sembra piuttosto

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

Come posso usare questo nel mio caso?


UPDATE

Sembra il seguente codice funziona per me (ma dammi errore NotFoundHttpException in RouteCollection.php linea 145:, forse causato dalla mia impostazione router)

location /laravel{ 
    root /home/usr/proj/laravel/public; 
    index index.php index.html; 
    try_files $uri $uri/ /laravel/public/index.php?$query_string; 
    } 
+0

dovresti provare try_files $ uri $ uri//index.php?$query_string; –

+0

Sembra non funzionare anche. –

+0

Se vedi un errore da RouteCollection - sembra che tu abbia già risolto il problema da solo :) il resto è in routes.php –

risposta

0

Riguardo all'aggiornamento, penso che dovresti mantenere la sintassi originale try_files:

try_files $uri $uri/ /index.php?$query_string; 

poiché la posizione è impostata su /laravel e la radice si trova nella cartella pubblica. Il modo in cui è attualmente scritto finisce per cercare il file /home/usr/proj/laravel/public/public/index.php nel disco.

Si dovrebbe anche verificare di configurare l'URL dell'applicazione in modo che contenga la parte /location dell'URL. Non sono abbastanza sicuro di come Laravel 5 sia configurato poiché la mia esperienza è con Laravel 4.

+0

Sembra che dovremmo usare alias piuttosto che root –

Problemi correlati