Bagaimana untuk Mengkonfigurasi Blok Lokasi Nginx dengan Cekap untuk Menyajikan Subfolder dengan URI Berbeza?

Susan Sarandon
Lepaskan: 2024-11-24 01:11:15
asal
221 orang telah melayarinya

How to Efficiently Configure Nginx Location Blocks for Serving Subfolders with Different URIs?

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;
  }
}
Salin selepas log masuk

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$ {
            ...
        }
    }

    ...
}
Salin selepas log masuk

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!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan