Bagaimana untuk mengakses berbilang projek dengan satu nama domain dalam Nginx

PHPz
Lepaskan: 2023-05-16 21:37:20
ke hadapan
2042 orang telah melayarinya

Pengenalan padanan modul lokasi

1. "=" padanan arahan awalan, jika perlawanan berjaya, padanan lain akan dihentikan.

2. Arahan rentetan biasa dipadankan mengikut urutan dari panjang ke pendek Jika lokasi yang berjaya dipadankan menggunakan ^~, padanan lain akan dihentikan (padanan biasa).

3. Pemadanan perintah ungkapan biasa, ikut tertib dalam fail konfigurasi dan hentikan pemadanan lain jika berjaya.

4 Jika terdapat perlawanan yang berjaya pada langkah ketiga, gunakan keputusan, jika tidak gunakan keputusan langkah kedua.

Nota

1. Susunan padanan adalah untuk memadankan rentetan biasa dahulu, dan kemudian memadankan ungkapan biasa. Di samping itu, susunan padanan rentetan biasa adalah berdasarkan panjang aksara dalam konfigurasi dari panjang ke pendek, yang bermaksud bahawa susunan lokasi yang dikonfigurasikan menggunakan rentetan biasa adalah tidak relevan Pada akhirnya, nginx akan sepadan mengikut panjangnya konfigurasi, tetapi perlu diperhatikan bahawa ungkapan biasa diuji dalam susunan yang dinyatakan dalam fail konfigurasi. Mencari ungkapan biasa yang sepadan pertama akan menghentikan carian.

2. Dalam keadaan biasa, pemadanan lokasi ungkapan biasa akan dilakukan selepas lokasi rentetan biasa berjaya dipadankan. Terdapat dua cara untuk menukar tingkah laku ini Salah satunya ialah menggunakan awalan "=" Pada masa ini, pemadanan yang ketat dilakukan, dan pemadanan lain dihentikan serta-merta selepas perlawanan berjaya, dan permintaan diproses pada masa yang sama. Yang lain ialah menggunakan awalan "^~" , jika digunakan dengan rentetan biasa, memberitahu nginx untuk tidak menguji ungkapan biasa jika laluan sepadan.

location = /uri
Salin selepas log masuk

= bermula dengan menunjukkan padanan tepat, dan ia hanya akan berkuat kuasa jika ia adalah padanan tepat.

location ^~ /uri
Salin selepas log masuk

^~ melakukan pemadanan awalan pada laluan url pada permulaan dan mendahului ungkapan biasa. Bermula dengan

location ~ pattern
Salin selepas log masuk

~ menunjukkan padanan biasa sensitif huruf besar-besaran.

location ~* pattern
Salin selepas log masuk

~* bermula dengan padanan biasa yang tidak peka huruf besar-besaran.

location /uri
Salin selepas log masuk

tanpa sebarang pengubah suai juga menunjukkan padanan awalan, tetapi selepas padanan biasa.

location /
Salin selepas log masuk

Padanan universal, sebarang permintaan yang tidak sepadan dengan lokasi lain akan dipadankan, yang bersamaan dengan lalai dalam suis.

Instance konfigurasi

server {
 listen  80;
 server_name test.com;
 index index.html index.htm index.php;
 charset koi8-r;
 access_log /var/log/nginx/host.access.log main;

 # 域名+项目1名称
 location ^~ /a1/ {
   alias /usr/share/nginx/html/a1/public/;
 }

 # 域名+项目2名称
 location ^~ /a2/ {
   alias /usr/share/nginx/html/a2/public/;
 }

 error_page 404    /404.html;

 # redirect server error pages to the static page /50x.html
 
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
  root /usr/share/nginx/html/500.html;
 }

 #pass the php scripts to fastcgi server listening on 127.0.0.1:9000
 
 location ~ \.php$ {
  root   html;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param script_filename /scripts$fastcgi_script_name;
  include  fastcgi_params;
 }
 
 location ~ /\.ht {
  deny all;
 }
}
Salin selepas log masuk

Pratonton kesan

1 projek a1

Bagaimana untuk mengakses berbilang projek dengan satu nama domain dalam Nginx

2 Lawati projek a2

Bagaimana untuk mengakses berbilang projek dengan satu nama domain dalam Nginx

Atas ialah kandungan terperinci Bagaimana untuk mengakses berbilang projek dengan satu nama domain dalam Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!