Konfigurasi Lokasi Nginx untuk Subfolder
Dalam konfigurasi Nginx, laluan folder tertentu boleh dipetakan ke URI yang berbeza untuk organisasi dan penghalaan yang lebih baik. Senario biasa ialah mengkonfigurasi akses kepada subfolder dalam direktori.
Pertimbangkan struktur laluan seperti /var/www/myside/ di mana dua subfolder, /static dan /manage, wujud. Matlamatnya adalah untuk mengakses subfolder ini melalui URI / (untuk /statik) dan /urus (untuk /urus) sambil memastikan penghalaan yang betul untuk fail PHP.
Sampel awal konfigurasi Nginx mungkin kelihatan seperti ini:
server { listen 80; server_name example.org; error_log /usr/local/etc/nginx/logs/mysite/error.log; access_log /usr/local/etc/nginx/logs/mysite/access.log; root /var/www/mysite; location /manage { root $uri/manage/public; try_files $uri /index.php$is_args$args; } location / { root $uri/static/; index index.html; } location ~ \.php { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; } }
Walau bagaimanapun, konfigurasi ini mungkin tidak berfungsi dengan betul untuk mengakses /mengurus. Penyelesaiannya adalah dengan menggunakan arahan alias dan bukannya root apabila mengakses subfolder dengan URI yang berbeza.
Berikut ialah konfigurasi Nginx yang disemak semula:
server { ... location ^~ /manage { alias /var/www/mysite/manage/public; index index.php; if (!-e $request_filename) { rewrite ^ /manage/index.php last; } location ~ \.php$ { ... } } ... }
Dengan pengubahsuaian ini, konfigurasi memetakan / statik ke / menggunakan akar dan / mengurus untuk / mengurus menggunakan alias. Selain itu, arahan try_files dan jika arahan memastikan bahawa permintaan untuk fail yang tidak wujud dalam subfolder ini dikendalikan dengan betul.
Dengan menggabungkan alias dan arahan root, bersama-sama dengan penggunaan blok lokasi yang betul, Nginx boleh dikonfigurasikan untuk menyampaikan kandungan daripada subfolder dengan URI tertentu dengan berkesan.
Atas ialah kandungan terperinci Bagaimana untuk Mengkonfigurasi Blok Lokasi Nginx dengan Cekap untuk Menyajikan Subfolder dengan URI Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!