巢狀子資料夾的Nginx 位置配置
在Nginx 配置的上下文中,存取具有特定URI 的子資料夾可能具有挑戰性。這就是位置指令發揮作用的地方。
考慮以下場景:您有一個類似 /var/www/mysite/ 的目錄結構,其中包含兩個子資料夾:/static 和 /manage。您希望透過根 URI(例如“http://example.org/”)訪問 /static 並透過“/manage”訪問 /manage(例如“http://example.org/manage”)。
讓我們分解提供的 Nginx 配置:
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 { ... } }
雖然 / 位置工作正常,但 /manage 位置失敗。這是因為 root 指令不正確。要在別名中使用子資料夾,應使用別名而不是 root。
/manage 的更新位置應如下所示:
location ^~ /manage { alias /var/www/mysite/manage/public; ... }
透過這些修改,Nginx 將正確服務根URI 處來自/static 的靜態檔案和「/manage」處來自/ manage 的動態內容。
以上是如何設定 Nginx 來為來自不同 URI 的巢狀子資料夾提供服務?的詳細內容。更多資訊請關注PHP中文網其他相關文章!