La configuration de nginx pour retourner une erreur 404 quand une URL correspond à un modèle
Je veux nginx pour retourner un code 404 lorsqu'il reçoit une demande qui correspond à un modèle, par exemple, /test/*
. Comment puis-je configurer nginx pour le faire?
Vous devez vous connecter pour publier un commentaire.
return
fait partie de laHttpRewriteModule
. Il fait son emplacement parent toujours retourner le statut donné, ce qui est exactement ce que le demandeur veut.location = /test/ { ... }
Besoin d'ajouter "^~" pour donner à ce match une priorité plus élevée que la regex emplacement des blocs.
Sinon, vous sera dans une situation délicate. Par exemple, si vous avez un autre emplacement bloc comme
et que quelqu'un envoie une demande à http://your_domain.com/test/bad.php, qui regex emplacement du bloc d'être choisi par nginx pour servir la demande. Évidemment, ce n'est pas ce que vous voulez. Donc, assurez-vous de mettre "^~" dans cet emplacement à bloc!
Référence: http://wiki.nginx.org/HttpCoreModule#location
internal
(à partir de laHttpCore
module) les marques de l'emplacement interne pour le serveur. Il sera de retour 404 pour les demandes de l'extérieur, mais qui peut toujours être la cible de redirections internes, réécrit, les pages d'erreur, etc.