Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Apakah peraturan padanan URI arahan Lokasi Nginx?

Apakah peraturan padanan URI arahan Lokasi Nginx?

WBOY
WBOYke hadapan
2023-05-14 23:58:191591semak imbas

1. Pengenalan

Arahan lokasi ialah konfigurasi paling teras dalam modul http. Ia menerima permintaan yang dihantar oleh pengguna berdasarkan peraturan padanan url yang telah ditetapkan Padanan Akibatnya, permintaan dimajukan ke pelayan bahagian belakang, permintaan yang menyalahi undang-undang ditolak terus dan pemprosesan ralat 403, 404, 500, dsb. dikembalikan.

2. Sintaks arahan lokasi

lokasi [=|~|~*|^~|@] /uri/ { … } atau lokasi @nama { … }

3. Mod padanan URI

arahan lokasi dibahagikan kepada dua mod padanan:
1> bermula atau bermula tanpa watak utama (~)
2> padanan biasa: bermula dengan ~ atau ~* bermaksud padanan biasa, ~* bermaksud padanan biasa tidak sensitif huruf besar kecil

4 Peraturan Pemadanan uri

Apabila nginx menerima permintaan, ia akan memintas bahagian uri permintaan dan mencari corak padanan uri yang ditakrifkan dalam semua arahan lokasi. Dalam modul pelayan, berbilang arahan lokasi boleh ditakrifkan untuk memadankan permintaan URL yang berbeza, dan berbilang corak padanan URI dengan konfigurasi lokasi yang berbeza Prinsip pemadanan keseluruhan ialah: padankan corak rentetan biasa dahulu, dan kemudian padankan corak biasa. Hanya bahagian uri yang dikenali Sebagai contoh, permintaannya ialah: /test/abc/user.do?name=xxxx

Selepas permintaan datang, proses nginx memadankan permintaan ini adalah seperti berikut :

1> Periksa dahulu sama ada terdapat padanan tepat bermula dengan =, seperti: lokasi = /test/abc/user.do { … }

2> ; Kemudian cari padanan biasa, menggunakan awalan terbesar sebagai Pada dasarnya, jika terdapat dua lokasi berikut, yang terakhir akan dipadankan
* lokasi /test/ { … }
* lokasi /test/abc { … }

3> padanan Selepas mencapai format biasa, carian tidak ditamatkan, tetapi menyimpan hasil padanan semasa untuk sementara dan terus mencari corak padanan biasa

4> selepas mencari padanan pertama dalam semua lokasi corak padanan biasa , ambil item ini sebagai hasil padanan akhir
Jadi peraturan padanan item padanan biasa dipengaruhi oleh susunan yang ditetapkan, tetapi mod padanan biasa tidak akan

5> Jika tiada item padanan biasa ditemui, Maka hasil cache dalam 3 akan menjadi keputusan padanan akhir
6> Jika tiada padanan ditemui, 404 akan dikembalikan

5. Perbezaan antara padanan tepat dan padanan kabur
Perbezaan antara lokasi =/ { … } dan lokasi / { … }:
* Yang pertama ialah padanan tepat dan hanya bertindak balas kepada / permintaan. Semua permintaan jenis /xxx atau /xxx/xxxx tidak akan dipadankan dalam bentuk awalan Ini
* Yang terakhir ialah selagi permintaan itu diawali dengan /, ia akan dipadankan. Seperti: /abc, /test/abc, /test/abc/aaaa

6 padanan biasa dan bukan biasa

1> /test /.+.jsp$ { … }: Padanan biasa, menyokong sintaks ungkapan biasa standard.
2> lokasi ^~ / { … }: ^~ bermaksud untuk mematikan padanan biasa Apabila corak padanan biasa ini dicari, corak padanan biasa tidak akan dicari lagi.

rreeee

Atas ialah kandungan terperinci Apakah peraturan padanan URI arahan Lokasi Nginx?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam