嵌套子文件夹的 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中文网其他相关文章!