nginx avec site dans un sous-répertoire qui ne correspond pas aux extrémités de l’url

Lorsque j’essaie d’utiliser le framework PHP laravel, j’essaye de le placer dans un /home/usr/proj/laravel appelé /home/usr/proj/laravel , mais comme nous soaps que le HTML public de laravel est installé dans /home/usr/proj/laravel/public , donc mon problème est de savoir comment faire le réglage de nginx tel que lorsque mysite.com/laravel/ par mysite.com/laravel/ ou mysite.com/laravel , nous sums en fait redirigés vers le lieu laravel/public/index.php .

En outre, il semble qu’il existe une règle de nignx suggérée par le fonctionnaire de laravel, pour que l’url soit jolie.

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

Comment puis-je l’utiliser dans mon cas?


METTRE À JOUR

Il semble que le code suivant fonctionne pour moi (mais donnez-moi une erreur NotFoundHttpException dans la ligne 145 de RouteCollection.php: peut-être à cause du paramétrage de mon routeur)

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

En ce qui concerne votre mise à jour, je pense que vous devez conserver votre syntaxe try_files originale:

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

depuis l’emplacement est défini sur /laravel et la racine est dans le dossier public. La manière dont il est actuellement écrit finit par rechercher le fichier /home/usr/proj/laravel/public/public/index.php sur le disque.

Vous devez également vérifier pour configurer l’URL de votre application afin qu’elle contienne la partie /location de l’URL. Je ne suis pas certain de la configuration de Laravel 5 depuis mon expérience avec Laravel 4.