Ebben a cikkben röviden elmagyarázzuk az Nginx location regex példákat.
Előfeltételek
Ebben a cikkben feltételezzük, hogy az Nginx már telepítve van a rendszerére.
Nginx helymeghatározási irányelv szintaxisa
A következő szintaxis áll rendelkezésre a helykönyvtárhoz az Nginx konfigurációs fájlban:
hely [módosító] [URL-egyezés]…
Az Nginx helyblokk hozzáadható egy kiszolgálóblokkhoz vagy egy másik helyre, előre meghatározott feltételekkel. A fenti szintaxisban a módosító opcionális paraméter. A módosítók jelenléte a helyblokkban lehetővé teszi, hogy az Nginx más sorrendben kezelje az URL-t. Az alábbiakban néhány módosítót említünk néhány példával:
1. Minden kérés egyeztetése az Nginx helyblokkjával
A '/' jelet az előtag helyére használják, hogy megfeleljen az összes kérelemnek. Ha azonban a legjobb találatokat nem keressük meg, akkor azt utolsó eredményként használjuk.
Példa
A következő helyblokkban minden kérésnek megfelel:
2. Könyvtár egyeztetése az Nginx helyblokkjával
Az alábbi példa megfelel a helyblokk minden kérelmének, amely a / images / kezdettel kezdődik. Következésképpen egy konkrétabb egyeztetett blokk keresése a kért URI-val szemben. Ha azonban az Nginx nem keres konkrétabb egyezést, akkor a helyblokkot közvetlenül választja ki.
Példa
Az alábbiakban egy példában az Nginx meg fogja egyezni a helyblokk minden kérését, amely a / images / kezdettel kezdődik.
3. Pontosan egyezzen a '=' (egyenlő) helymódosítóval
Az '=' egyenlőségjelet akkor használjuk, ha pontosan egyezteti a helyblokkot a kért URI-val.
Példa
Az Nginx először megpróbálja a legspecifikusabb előtag-helyeket egyeztetni. A következő példában azonban a helyblokk '=' módosítója pontosan megegyezik a kért előtag elérési útjával, majd leállítja a jobb egyezések keresését.
…
A fent említett helyblokk-példában a '=' helymódosító pontosan meg fog egyezni az URL-domainnel.com / imgs. Az URL-ek mydomain / imgs / index.A html 'vagy' mydomain / imgs / 'nem fog egyezni a feltétellel.
4. Kis- és nagybetű érzékeny Regex egyezés Tilda (~) módosítóval
A tilda (~) módosító végrehajtja a kis- és nagybetűk közötti reguláris kifejezés egyezés keresését a kért URI-val szemben, és folyamatosan keres jobb egyezést.
Példa
A következő példa ~ módosítója végrehajtja a kis- és nagybetűk közötti regex (reguláris kifejezés) egyezést a helyblokkban:
…
5. A kis- és nagybetűk közötti egyezés tilda (~ *) módosítóval
A csillagjelű (~ *) módosítóval ellátott tilde jel megfelel a következő helyblokkban szereplő összes (kis- és nagybetűt nem érzékeny) kérésnek, amely egy adott fájlformátummal végződik, például png, gif, ico, jpeg, jpg, css vagy js végződésű fájl. Azonban az / imgs / mappába küldött minden kérést az előző helyblokk fogadja.
Példa
A következő helyblokkban az összes kis- és nagybetűt nem tartalmazó fájltípusnak megfelel.
…
6. Caret-Tilde Sign (^ ~) módosító a RegEx Matchhez
A caret-tilda (^ ~) módosító a kis- és nagybetűk közötti reguláris kifejezés egyezésének végrehajtására szolgál a kért URL-hez. Ezért, ha a megfelelő URI a / imgs vagy / imgs / pico könyvtárban lesz.png, abbahagyja a keresést, hogy jobb mérkőzést találjon.
hely ^ ~ / imgs…
Következtetés
Néhány példát és fontos részletet tárgyaltunk az Nginx helymeghatározási irányelvről a regexszel. Ebben a cikkben példákkal is megemlítettük a módosítók használatát. Remélem, hogy ez a cikk segít megérteni az NGINX helyblokkjainak fő koncepcióját. Köszönöm!