L'image ci-dessus est un exemple simple que j'ai configuré sur la base du principe de correspondance la plus longue de nginx. Le but est de refuser tout accès à /, mais de pouvoir sauter normalement lors de l'accès à /hello. Cependant, lors de l'accès à /hello, il revient toujours. 403, mais il est réécrit. Le journal indique que nginx correspond effectivement à mes règles. Pourquoi me renvoie-t-il toujours 403 ? Merci beaucoup !
localisation / peut répondre à toutes les demandes
Vous pouvez le modifier comme suit
Règles de grammaire : location [=|~|~*|^~] /uri/ { … }
= Le début signifie une correspondance exacte
^~ Le début signifie que l'uri commence par une chaîne régulière, qui peut être comprise comme une correspondance le chemin de l'URL. nginx n'encode pas l'URL, donc la requête est /static/20%/aa, qui peut correspondre à la règle ^~ /static/ /aa (notez l'espace). Le début de
~ indique une correspondance régulière sensible à la casse
~* Le début indique une correspondance régulière insensible à la casse
!~ et !~* sont respectivement une non-correspondance sensible à la casse et une correspondance régulière non-correspondante insensible à la casse
/ correspondance universelle , Toute demande sera satisfaite
Parce que /test00 après la réécriture correspond à l'emplacement /
Vous devez ajouter un emplacement ~ ^/test00 et activer l'accès