如何为具有不同 URI 前缀的子文件夹配置 Nginx 位置块?

Mary-Kate Olsen
发布: 2024-11-25 13:35:13
原创
540 人浏览过

How to Configure Nginx Location Blocks for Subfolders with Different URI Prefixes?

子文件夹的 Nginx 位置配置

Nginx 服务器配置允许根据 URI 模式将请求路由到特定位置。本问题探讨如何配置 Nginx 以访问指定路径中的子文件夹,特别是 /static 和 /manage,具有不同的 URI 前缀。

要配置对根 URI (/) 处的 /static 文件夹的访问,请定义根设置为 /static 子文件夹的位置块:

location / {
    root /var/www/mysite/static;
    index index.html;
}
登录后复制

对于包含 Slim PHP 框架的 /manage 文件夹,根路径必须设置为index.php 文件所在的公共子文件夹。由于公共子文件夹是一个位置,因此使用别名指令代替根:

location ^~ /manage {
    alias /var/www/mysite/manage/public;
    index index.php;
}
登录后复制

此外,如果 PHP 文件同时存在于 /static 和 /manage 文件夹中,则需要两个 location ~ .php 块:

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass 127.0.0.1:9000;

    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
登录后复制

location ~ \.php$ {
    if (!-f $request_filename) { return 404; }
    fastcgi_pass 127.0.0.1:9000;

    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
登录后复制

^~ 修饰符确保 /manage 的前缀位置优先于正则表达式位置 ~ .php$.

以上是如何为具有不同 URI 前缀的子文件夹配置 Nginx 位置块?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板