Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
370 views
in Technique[技术] by (71.8m points)

openResty 与 nginx 部分变量和指令的差异疑惑

1、try_files 指令 openResty 对捕获状态码无效。
image.png

我输入的 /index.php/hello/worldopenResty 200 返回了 /index.php/hello/world-/index.php/hello/worldnginx 按我预期的返回了 404。为什么?

2、$fastcgi_script_name 的差异
nginx/index.php
openResty/index.php/hello/world

还有就是 bt面板 自带的 pathinfo 解析方式

set $real_script_name $fastcgi_script_name;
# nginx 的 $fastcgi_script_name 只是入口脚本 /index.php
# openResty 的 $fastcgi_script_name 是 $uri /index.php/hello/world
if ($fastcgi_script_name ~ "^(.+?.php)(/.+)$") {
    set $real_script_name $1;
    set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;

这处理模式只适用 openResty$fastcgi_script_namenginx$fastcgi_script_name 并不会携带 /hello/world 路径信息,还是得使用 fastcgi_split_pathinfo 指令才行,这是什么鬼?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
...