Emplacement de Nginx Exemples Regex

Emplacement de Nginx Exemples Regex
La directive de localisation Nginx permet de rouler les demandes à un emplacement particulier dans le système de fichiers. Alors que Nginx correspond ou recherche un bloc d'emplacement par rapport à l'URL demandée, la directive de localisation indique au Nginx où rechercher un chemin spécifique en incluant tous les fichiers et répertoires.

Nous expliquerons les exemples Regex de l'emplacement de Nginx en détail dans cet article.

Conditions préalables

On suppose dans cet article que Nginx est déjà installé sur votre système.

Syntaxe de la directive de localisation de Nginx

La syntaxe suivante est disponible pour le répertoire de localisation dans le fichier de configuration Nginx:

Emplacement [modificateur] [URL-Match]

Le bloc d'emplacement Nginx peut être ajouté dans un bloc de serveur ou sur un autre emplacement avec certaines conditions prédéfinies. Dans la syntaxe ci-dessus, le modificateur est un paramètre facultatif. La présence de modificateurs dans le bloc de localisation permet à Nginx de faire face à une URL dans un ordre différent. Ici, quelques modificateurs sont mentionnés ci-dessous avec quelques exemples:

Correspondant à toute demande avec le bloc d'emplacement Nginx

Le '/' est utilisé pour l'emplacement du préfixe pour correspondre à toutes les demandes. Cependant, si aucune meilleure correspondance n'est recherchée, elle sera utilisée comme dernier résultat.

Exemple
Dans le bloc d'emplacement suivant, il correspondra à toutes les demandes:

emplacement /

Faire correspondre le répertoire à l'aide du bloc de localisation dans nginx

L'exemple suivant correspondra à toute demande dans le bloc de localisation qui commence par / images /. Par conséquent, la recherche d'un bloc correspondant plus spécifique avec l'URI demandé. Cependant, si Nginx ne recherche pas une correspondance plus spécifique alors, le bloc d'emplacement sera sélectionné directement.

Exemple
Dans ce qui précède, Nginx correspondra à toute demande dans le bloc d'emplacement qui commence par / images /.

emplacement / images /

Faites correspondre exactement en utilisant '=' (égal à) Modificateur d'emplacement

Le modificateur '=' signe égal est utilisé lorsque vous correspondez exactement au bloc d'emplacement avec un URI demandé.

Exemple
Nginx essaie d'abord de faire correspondre les emplacements de préfixe les plus spécifiques. Cependant, dans l'exemple suivant, le modificateur '=' dans le bloc d'emplacement correspondra exactement au chemin du préfixe demandé, puis arrêtez de rechercher de meilleures correspondances.

localisation = / imgs

Dans l'exemple de bloc d'emplacement susmentionné, le modificateur d'emplacement '=' correspondra exactement à l'URL Mydomain.com / imgs. Le mydomain / IMGS des URLs / index.html 'ou' mydomain / imgs / 'ne correspondra pas à la condition.

Match regex sensible à la caisse à l'aide du modificateur Tilda (~)

Le modificateur Tilda (~) effectue la recherche de correspondance d'expression régulière sensible à la cas contre l'URI demandé et recherche en continu une meilleure correspondance.

Exemple
Le modificateur ~ dans l'exemple suivant effectue la correspondance regex (expression régulière) sensible à la casse dans le bloc de localisation:

Emplacement ~ / imgs

Match insensible au cas à l'aide du modificateur Tilda (~ *)

Le signe Tilde avec un modificateur Asterisk (~ *) correspond à n'importe quelle demande (insensible à cas) dans le bloc d'emplacement suivant qui se termine par un format de fichier spécifique tel que le fichier se terminant par PNG, GIF, ICO, JPEG, JPG, CSS ou JS. Cependant, toutes les demandes envoyées au dossier / IMGS /.

Exemple
Dans le bloc d'emplacement suivant, il correspondra à tous les types de fichiers insensibles à la casse.

Emplacement ~ * .(png | ico | gif | jpg | jpeg | css | js) $

Modificateur Caret-Tilde Sign (^ ~) pour le match Regex

Le modificateur Caret-Tilda (^ ~) est utilisé pour effectuer la correspondance d'expression régulière sensible à la cas contre l'URL demandée. Par conséquent, si l'URI correspondant sera apparié dans le / IMGS ou / IMGS / PICO.PNG, il cesse de chercher pour trouver un meilleur match.

Emplacement ^ ~ / imgs

Conclusion

Nous avons discuté de quelques exemples et de détails importants sur la directive de localisation Nginx avec Regex. Nous avons également mentionné l'utilisation de modificateurs avec des exemples dans cet article. J'espère que cet article vous aidera à comprendre le concept principal des blocs de localisation dans Nginx. Merci!