Esempi di regex di posizione nginx

Esempi di regex di posizione nginx
La direttiva sulla posizione Nginx consente le richieste di routing in una posizione particolare nel file system. Mentre Nginx corrisponde o cerca un blocco di posizione contro l'URL richiesto, la direttiva sulla posizione indica a NGINX dove cercare un percorso specifico includendo tutti i file e le directory.

Spiegheremo gli esempi di regex per la posizione nginx in breve dettaglio in questo articolo.

Prerequisiti

Si presume in questo articolo che Nginx è già installato sul sistema.

Sintassi della direttiva sulla posizione Nginx

La seguente sintassi è disponibile per la directory di posizione nel file di configurazione Nginx:

Posizione [Modifier] [url-match]
..

Il blocco di posizione Nginx può essere aggiunto in un blocco server o su un'altra posizione con alcune condizioni predefinite. Nella sintassi sopra, il modificatore è un parametro opzionale. La presenza di modificatori nel blocco di posizione consente a NGINX di gestire un URL in un ordine diverso. Qui, pochi modificatori sono menzionati di seguito con alcuni esempi:

Abbinamento di tutte le richieste con il blocco di posizione Nginx

Il '/' viene utilizzato per la posizione del prefisso per abbinare tutte le richieste. Tuttavia, se non vengono cercate le migliori corrispondenze, verrà utilizzato come ultimo risultato.

Esempio
Nel seguente blocco di posizione, corrisponderà a tutte le richieste:

posizione /

Match Directory utilizzando il blocco di posizione in Nginx

L'esempio seguente corrisponderà a qualsiasi richiesta nel blocco di posizione che inizia con /immagini /. Di conseguenza, alla ricerca di un blocco abbinato più specifico contro l'URI richiesto. Tuttavia, se Nginx non cerca una corrispondenza più specifica, il blocco di posizione verrà selezionato direttamente.

Esempio
Nell'esempio di seguito, NGINX corrisponderà a qualsiasi richiesta nel blocco di posizione che inizia con /Immagini /.

posizione / immagini /

Corrispondere esattamente usando '=' (uguale a) modificatore di posizione

Il modificatore '=' Il segno uguale viene utilizzato quando si abbina esattamente il blocco di posizione con un URI richiesto.

Esempio
Nginx prima cerca di abbinare le posizioni del prefisso più specifiche. Tuttavia, nell'esempio seguente, il modificatore '=' nel blocco di posizione corrisponderà esattamente al percorso del prefisso richiesto e quindi interromperà la ricerca di corrispondenze migliori.

location = /imgs
..

Nell'esempio di blocco di posizione sopra menzionato, il modificatore di posizione '=' si abbinerà esattamente contro l'URL MyDomain.com/imgs. Mydomain/IMGS/IMGS degli URLS.html 'o' mydomain/imgs/'non corrisponderà alla condizione.

REGEX REGEX SUSSIMENTE CASE usando il modificatore TILDA (~)

Il modificatore Tilda (~) esegue la ricerca di corrispondenza regolare distintiva del caso contro l'URI richiesto e cerca continuamente una corrispondenza migliore.

Esempio
Il modificatore ~ ​​nell'esempio seguente esegue il regex-sensibile (espressione regolare) nel blocco di posizione:

posizione ~ /imgs
..

Match insensibile al caso usando il modificatore Tilda (~*)

Il segno Tilde con un modificatore asterisco (~*) corrisponde a qualsiasi richiesta (insensibile al caso) nel blocco di posizione successivo che termina con un formato di file specifico come il file che termina con PNG, GIF, ICO, JPG, JPG, CSS o JS. Tuttavia, tutte le richieste che inviano a / IMGS / cartella saranno intrattenute dal blocco di posizione precedente.

Esempio
Nel seguente blocco di posizione, corrisponderà a tutti i tipi di file insensibili al caso.

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

Caret-tilde Sign (^~) Modificatore per regex Match

Il modificatore di Caret-Tilda (^~) viene utilizzato per eseguire la corrispondenza dell'espressione regolare sensibile al caso contro l'URL richiesto. Pertanto, se l'URI corrispondente verrà abbinato in /imgs o /imgs /pico.PNG, smette di cercare di trovare una corrispondenza migliore.

posizione ^~ /imgs
..

Conclusione

Abbiamo discusso alcuni esempi e dettagli importanti sulla direttiva sulla posizione Nginx con Regex. Abbiamo anche menzionato l'uso di modificatori con esempi in questo articolo. Spero che questo articolo ti aiuti a capire il concetto principale dei blocchi di posizione in Nginx. Grazie!