gpt4 book ai didi

nginx - 如何配置 nginx 从不同的文件夹加载 try_files?

转载 作者:行者123 更新时间:2023-12-04 11:28:03 29 4
gpt4 key购买 nike

我需要一些帮助来配置 nginx 以从不同的文件夹加载文件。这是我的配置:

index index.php;

server {
server_name domain.com;
root /www/domain.com/www/;

location / {
try_files $uri $uri/ /php_www/index.php;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index /php_www/index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}

error_page 404 /404.html;

error_log /var/log/nginx/error.log;

}

问题是/php_www/不在 nginx 中定义的根目录中。

我有 4 个不同的文件夹需要执行此操作,这是我的文件夹结构的样子:
/www/domain.com/www/
/www/domain.com/php_www/
/www/domain.com/content1/
/www/domain.com/content2/

我想要做的是当访问者访问 domain.com/page1/content1/ 时例如,我想从 content1 文件夹加载内容。这样做的原因是我有几个带有单独存储库的 git 项目......这将使我能够将网站的某些区域推向生产,而不会影响其他任何东西。我也不想在/www 文件夹中访问我的所有文件/内容,因此无法对 url 进行暴力攻击,寻找内容。

希望这是有道理的!

工作解决方案(来自 this 评论)
location ^~ / { 
root /www/domain.com/php_www/;
try_files $uri $uri/ /index.php;
location ~* \.(?:php|html)$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
}
}

最佳答案

您可以使用 root 内部指令 location .

关于nginx - 如何配置 nginx 从不同的文件夹加载 try_files?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11680072/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com