Selitämme Nginx-sijainnin regex-esimerkkejä lyhyesti tässä artikkelissa.
Edellytykset
Tässä artikkelissa oletetaan, että Nginx on jo asennettu järjestelmääsi.
Nginx-sijaintidirektiivin syntakse
Seuraava syntaksi on käytettävissä Nginx-määritystiedoston sijaintihakemistossa:
sijainti [muokkaaja] [URL-haku]…
Nginx-sijaintilohko voidaan lisätä palvelinlohkoon tai toiseen paikkaan joillakin ennalta määritellyillä ehdoilla. Edellä olevassa syntaksissa muokkaaja on valinnainen parametri. Muuttujien läsnäolo sijaintilohkossa antaa Nginxille mahdollisuuden käsitellä URL-osoitetta eri järjestyksessä. Tässä muutamia muokkaajia mainitaan alla ja joitain esimerkkejä:
1. Kaikkien pyyntöjen sovittaminen Nginx-sijaintilohkoon
'/' Käytetään etuliitteen sijaintiin vastaamaan kaikkia pyyntöjä. Jos kuitenkin parhaita vastaavuuksia ei haeta, sitä käytetään viimeisenä tuloksena.
Esimerkki
Seuraavassa sijaintilohkossa se vastaa kaikkia pyyntöjä:
2. Hakuhakemisto käyttämällä sijaintilohkoa Nginxissä
Seuraava esimerkki vastaa kaikkia sijaintilohkon pyyntöjä, jotka alkavat / images /. Näin ollen tarkemman sovitetun lohkon etsiminen pyydettyä URI: tä vastaan. Jos Nginx ei kuitenkaan etsi tarkempaa vastaavuutta, sijaintilohko valitaan suoraan.
Esimerkki
Alla olevassa esimerkissä Nginx vastaa kaikkia sijaintilohkon pyyntöjä, jotka alkavat / images /.
3. Täsmää täsmälleen käyttämällä '=' (yhtä suuri) sijainninmuuttajaa
Muunnosta '=' yhtäläisyysmerkkiä käytetään, kun sovitat sijaintilohkon tarkalleen pyydettyyn URI: hen.
Esimerkki
Nginx yrittää ensin löytää tarkimmat etuliitteiden sijainnit. Seuraavassa esimerkissä sijaintilohkon muuttuja '=' vastaa kuitenkin tarkasti pyydettyä etuliitteen polkua ja lopettaa sitten parempien vastaavuuksien etsimisen.
…
Edellä mainitussa sijaintilohkon esimerkissä '=' sijainnin muokkaaja vastaa tarkalleen URL-osoitetunnusta.fi / kuvat. URL-osoitteiden mydomain / imgs / index.html tai 'mydomain / imgs /' eivät vastaa ehtoa.
4. Kirjainkokoinen Regex-ottelu käyttämällä Tilda (~) -muunnostajaa
Tilda (~) -muunnin suorittaa kirjainkokoisen säännöllisen lausekkeen haun haettua URI: tä vastaan ja etsii jatkuvasti parempaa vastaavuutta.
Esimerkki
Seuraavassa esimerkissä oleva ~ modifikaattori suorittaa kirjainkokoisen regex (säännöllinen lauseke) -hakemuksen sijaintilohkossa:
…
5. Kirjainkoon erottamaton ottelu käyttämällä tilda (~ *) -muunnostajaa
Tähtimerkillä (~ *) varustettu tilde-merkki vastaa mitä tahansa seuraavassa sijaintilohkossa olevaa (kirjainkoon erottamatonta) pyyntöä, joka päättyy tietyllä tiedostomuodolla, kuten tiedosto, joka päättyy png, gif, ico, jpeg, jpg, css tai js. Kaikki / imgs / kansioon lähetetyt pyynnöt viihdytetään kuitenkin edellisen sijaintilohkon avulla.
Esimerkki
Seuraavassa sijaintilohkossa se täyttää kaikki kirjainkoolla merkitsevät tiedostotyypit.
…
6. Caret-Tilde Sign (^ ~) -muunnin RegEx Matchille
Muokattajaa caret-tilda (^ ~) käytetään suorittamaan isot ja pienet kirjaimet säännöllisen lausekkeen haulla URL-osoitteen kanssa. Siksi, jos vastaava URI sovitetaan / imgs tai / imgs / pico.png, se lopettaa etsinnän löytääksesi paremman ottelun.
sijainti ^ ~ / imgs…
Johtopäätös
Olemme keskustelleet muutamasta esimerkistä ja tärkeistä yksityiskohdista Nginx-sijaintidirektiivistä regexin kanssa. Olemme myös maininneet muokkaajien käytön esimerkkien avulla tässä artikkelissa. Toivon tämän artikkelin auttavan sinua ymmärtämään NGINX: n sijaintilohkojen pääkäsitteen. Kiitos!