gpt4 book ai didi

NGINX try_files + alias 指令

转载 作者:行者123 更新时间:2023-12-03 08:46:52 28 4
gpt4 key购买 nike

我正在尝试使用 php 代码向站点的/blog 子目录提供请求,该子目录位于文档根目录之外的文件夹中。这是我的主机配置:

server {
server_name local.test.ru;
root /home/alex/www/test2;

location /blog {
alias /home/alex/www/test1;
try_files $uri $uri/ /index.php$is_args$args;

location ~ \.php$ {
fastcgi_split_path_info ^(/blog)(/.*)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
}
}
}

我收到了类似的请求

wget -O - http://local.test.ru/blog/nonExisting

只是来自/home/alex/www/test2/文件夹的 index.php 文件的代码。

但是,这个配置:
server {
server_name local.test.ru;
root /home/alex/www/test2;

location /blog {
alias /home/alex/www/test1;
try_files $uri $uri/ /blog$is_args$args;
index index.php;

location ~ \.php$ {
fastcgi_split_path_info ^(/blog)(/.*)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
}
}
}

给我来自/home/alex/www/test2/的 index.html 文件。
请给我一个线索 - 为什么?我怎样才能强制 NGINX 处理/home/alex/www/test1/index.php 呢?

最佳答案

这是 a long standing bug in nginx .但是你可以通过使用 root 来解决这个问题。再次指示。有点像黑客,但至少它有效。

server {
index index.php;
root /home/alex/www/test2;
server_name local.test.ru;

location /blog {
root /home/alex/www/test1;
try_files $uri $uri/ /blog$is_args$args;
}
}

关于NGINX try_files + alias 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20426812/

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