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

Categories

0 votes
382 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 Reply

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...