Nginx

„Nginx“ vietos regex pavyzdžiai

„Nginx“ vietos regex pavyzdžiai
„Nginx Location“ direktyva leidžia nukreipti užklausas į tam tikrą failų sistemos vietą. Kol „Nginx“ derina arba ieško vietos bloko pagal prašomą URL, vietos direktyva nurodo „Nginx“, kur ieškoti konkretaus kelio, įtraukiant visus failus ir katalogus.

Šiame straipsnyje trumpai paaiškinsime „Nginx“ vietos regex pavyzdžius.

Būtinos sąlygos

Šiame straipsnyje daroma prielaida, kad „Nginx“ jau įdiegta jūsų sistemoje.

„Nginx“ vietos direktyvos sintaksė

Ši „Nginx“ konfigūracijos failo vietovių katalogo sintaksė yra:

vieta [modifikatorius] [URL-match]

„Nginx“ vietos bloką galima pridėti serverio bloke arba kitoje vietoje su tam tikromis iš anksto nustatytomis sąlygomis. Pirmiau pateiktoje sintaksėje modifikatorius yra neprivalomas parametras. Modifikatorių buvimas vietos bloke leidžia „Nginx“ tvarkyti URL skirtinga tvarka. Čia yra paminėti keli modifikatoriai su keliais pavyzdžiais:

1. Visų užklausų suderinimas su „Nginx“ vietos bloku

„/“ Naudojamas priešdėlio vietai, kad atitiktų visas užklausas. Tačiau jei tada nebus ieškoma geriausių atitikmenų, ji bus naudojama kaip paskutinis rezultatas.

Pavyzdys
Šiame vietos bloke jis atitiks visas užklausas:

vieta /

2. Suderinti katalogą naudojant vietos bloką „Nginx“

Šis pavyzdys atitiks bet kurią vietos bloko užklausą, prasidedančią / images /. Taigi ieškant konkretesnio suderinto bloko su prašomu URI. Tačiau jei „Nginx“ neieškos konkretesnės atitikties, vietos blokas bus pasirinktas tiesiogiai.

Pavyzdys
Toliau pateiktame pavyzdyje „Nginx“ atitiks bet kurią vietos bloko užklausą, prasidedančią / images /.

vieta / vaizdai /

3. Tiksliai suderinkite naudodami „=“ (lygu) vietos modifikatorių

Modifikatorius '=' lygybės ženklas naudojamas, kai tiksliai suderinate vietos bloką su prašomu URI.

Pavyzdys
„Nginx“ pirmiausia bando suderinti konkrečias priešdėlių vietas. Tačiau šiame pavyzdyje modifikatorius „=“ vietovės bloke tiksliai atitiks prašomą priešdėlio kelią ir nustos ieškoti geresnių atitikmenų.

vieta = / imgs

Pirmiau minėtame vietos blokavimo pavyzdyje vietovės modifikatorius „=“ tiksliai atitiks URL domeną.com / imgs. URL „mydomain / imgs / index“.„html“ arba „mydomain / imgs /“ neatitiks sąlygos.

4. Skirtingos didžiosios ir mažosios raidės, naudojant „Tilda“ (~) modifikatorių

Tilda (~) modifikatorius atlieka didžiųjų ir mažųjų raidžių reguliaraus reiškinio atitikties paiešką pagal prašomą URI ir nuolat ieško geresnio atitikimo.

Pavyzdys
~ Modifikatorius šiame pavyzdyje atlieka didžiųjų ir mažųjų raidžių (reguliariosios išraiškos) atitiktį vietos bloke:

vieta ~ / imgs

5. Didžiųjų ir mažųjų raidžių atitikimas naudojant tilda (~ *) modifikatorių

„Tilde“ ženklas su žvaigždutės (~ *) modifikatoriumi atitinka bet kurią (neskiriant didžiųjų ir mažųjų raidžių) užklausą kitame vietos bloke, kuris baigiasi konkrečiu failo formatu, pvz., Failo pabaiga png, gif, ico, jpeg, jpg, css arba js. Tačiau visas užklausas, siunčiamas į aplanką / imgs /, priims ankstesnis vietos blokas.

Pavyzdys
Šiame vietos bloke jis atitiks visus failų tipus, kurių didžiosios ir mažosios raidės.

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

6. „Caret-Tilde Sign“ (^ ~) modifikatorius „RegEx Match“

Modifikatorius „caret-tilda“ (^ ~) naudojamas norint atlikti didžiųjų ir mažųjų raidžių reguliaraus reiškinio atitiktį prašomam URL. Todėl, jei atitinkantis URI bus sutaptas aplankuose / imgs arba / imgs / pico.png, jis nustoja ieškoti, norėdamas rasti geresnę atitiktį.

vieta ^ ~ / imgs

Išvada

Keletą pavyzdžių ir svarbios informacijos apie „Nginx“ vietos direktyvą aptarėme su regex. Šiame straipsnyje taip pat paminėjome modifikatorių naudojimą su pavyzdžiais. Tikiuosi, kad šis straipsnis padės jums suprasti pagrindinę vietos blokų „NGINX“ koncepciją. Dėkoju!

„SuperTuxKart“, skirta „Linux“
„SuperTuxKart“ yra puikus pavadinimas, sukurtas nemokamai suteikti „Mario Kart“ patirtį jūsų „Linux“ sistemoje. Tai gana sudėtinga ir smagu žaisti, yr...
„Battle for Wesnoth“ pamoka
„Battle for Wesnoth“ yra vienas populiariausių atvirojo kodo strateginių žaidimų, kurį šiuo metu galite žaisti. Šis žaidimas ne tik buvo kuriamas laba...
0 A.D. Pamoka
Iš daugybės strateginių žaidimų 0 A.D. sugeba išsiskirti kaip išsamus pavadinimas ir labai gilus, taktinis žaidimas, nepaisant to, kad yra atviro kodo...