Rumah >Operasi dan penyelenggaraan >Nginx >Bagaimana untuk mengakses berbilang projek dengan satu nama domain dalam Nginx

Bagaimana untuk mengakses berbilang projek dengan satu nama domain dalam Nginx

PHPz
PHPzke hadapan
2023-05-16 21:37:202145semak imbas

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

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

location ^~ /uri

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

location ~ pattern

~ menunjukkan padanan biasa sensitif huruf besar-besaran.

location ~* pattern

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

location /uri

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

location /

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;
 }
}

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!

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