Je veux que nginx renvoie un code 404 lorsqu'il reçoit une demande qui correspond à un modèle, par exemple /test/*
. Comment puis-je configurer nginx pour cela?
location /test/ {
return 404;
}
Besoin d'ajouter "^ ~" pour donner à cette correspondance une priorité plus élevée que les blocs d'emplacement regex.
location ^~ /test/ {
return 404;
}
Sinon, vous serez dans une situation délicate. Par exemple, si vous avez un autre bloc d'emplacement tel que
location ~ \.php$ {
...
}
et quelqu'un envoie une demande à http://your_domain.com/test/bad.php , ce bloc d'emplacement regex sera choisi par nginx pour servir la demande. Ce n'est évidemment pas ce que vous voulez. Assurez-vous donc de mettre "^ ~" dans ce bloc d'emplacement!
location ^~ /test/ {
internal;
}