Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengkonfigurasi Nginx untuk Melayan Subfolder Bersarang daripada URI Berbeza?

Bagaimanakah Saya Boleh Mengkonfigurasi Nginx untuk Melayan Subfolder Bersarang daripada URI Berbeza?

Barbara Streisand
Barbara Streisandasal
2024-11-29 02:28:13153semak imbas

How Can I Configure Nginx to Serve Nested Subfolders from Different URIs?

Konfigurasi Lokasi Nginx untuk Subfolder Bersarang

Dalam konteks konfigurasi Nginx, mengakses subfolder dengan URI tertentu boleh menjadi mencabar. Di sinilah arahan lokasi berperanan.

Pertimbangkan senario berikut: anda mempunyai struktur direktori seperti /var/www/mysite/ yang mengandungi dua subfolder, /static dan /manage. Anda ingin mengakses /statik melalui URI akar (cth., "http://example.org/") dan /manage melalui "/manage" (cth., "http://example.org/manage").

Mari kita pecahkan konfigurasi Nginx yang disediakan:

server {
  listen 80;
  server_name example.org;
  ...

  # Static folder location
  location / {
    root $uri/static/;
    index index.html;
  }

  # Manage folder location (attempt 1)
  location /manage {
    root $uri/manage/public;
    try_files $uri /index.php$is_args$args;
  }

  # PHP processing location
  location ~ \.php {
    ...
  }
}

Semasa lokasi / berfungsi dengan betul, lokasi /urus gagal. Ini kerana arahan akar tidak betul. Untuk menggunakan subfolder dalam alias, alias harus digunakan dan bukannya root.

Lokasi yang dikemas kini untuk /manage hendaklah seperti berikut:

location ^~ /manage {
  alias /var/www/mysite/manage/public;
  ...
}

Dengan pengubahsuaian ini, Nginx akan berfungsi dengan betul fail statik daripada /static pada URI akar dan kandungan dinamik daripada /manage di "/manage".

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengkonfigurasi Nginx untuk Melayan Subfolder Bersarang daripada URI Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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