2017-10-20 30 views
0

J'essaye actuellement de créer une règle Ngnix Rewrite qui passera les variables en arrière si un pattern est trouvé.La règle de réécriture de Nginx ne passe pas les variables si "/" est à la fin de l'url

URL de demande: contoso.com/web/en-us/notifications/

Nginx Rewrite règle rewrite ^/web/(.*)/notifications/$ /web/?action=notifications&language=$1;

Ainsi, l'ajout/à la fin des notifications/variable $ _GET [ 'action'] est vide. Je reçois cependant les deux valeurs dans $ _GET ['language'] = fr-fr/notifications

Si je supprime le/de la fin des notifications, j'obtiens les valeurs correctes. dans les deux variables.

Comment puis-je faire ce travail même si le/est à la fin?

+0

Et si vous utilisez '^/web /(.*)/ notifications /? $'? –

+0

Même problème si j'ajoute un point d'interrogation à la fin. – sam

+0

Y a-t-il une autre règle 'rewrite' dans votre fichier de configuration qui correspond en premier à l'URI? –

Répondre

0

Je l'ai compris. Il y avait une règle sur le dessus que je n'ai pas attrapé initialement qui a été configurée pour la page d'accueil qui a causé le problème. Je l'ai déplacé vers le bas en vertu de toutes les autres règles de réécriture. résolu le problème.