82 votes

Comment puis-je créer un emplacement dans nginx qui fonctionne avec ET sans slash de fin ?

Actuellement, j'ai cette configuration :

location ~ ^/phpmyadmin/(.*)$
{
        alias /home/phpmyadmin/$1;
}

Cependant, si je visite www.mysite.com/phpmyadmin (notez l'absence de barre oblique), il ne trouve pas ce que je cherche (404). Je suppose que c'est parce que je n'ai pas inclus la barre oblique de fin. Comment puis-je résoudre ce problème ?

0voto

iBug Points 1256

J'ai ajouté une autre réponse de stackoverflow ici.

Elle est résumée ici :

  • Mon installation comprend quelques applications derrière nginx. Je veux rediriger /appx-uri/bla/blo/bli à /appx-uri/bla/blo/bli/ au lieu de /bla/blo/bli/ qui est le comportement par défaut de nginx .
  • De plus, tous mes fichiers statiques (pour une application) sont rassemblés pour que nginx les serve. /repairapp/static/ .

Ajout de la directive rewrite ^/repairapp/([^static].*[^/])$ /repairapp/$1/ permanent; dans le bloc serveur le corrige.

J'ai alors

  • Pour résoudre ce problème : rewrite ^/repairapp/([^static].*[^/])$ /repairapp/$1/ permanent;
  • Pour que nginx serve les ressources location /repairapp/static/ {
  • Pour accéder à une application location /repairapp/ {

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X