问答

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

作者:admin 2021-08-20 我要评论

1、try_files 指令 openResty 对捕获状态码无效。 我输入的 /index.php/hello/world , openResty 200 返回了 /index.php/hello/world-/index.php/hello/world ...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

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 指令才行,这是什么鬼?

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 使用箭头函数return数据不能实现

    使用箭头函数return数据不能实现

  • 个人小程序号能接入小程序3D地图吗?

    个人小程序号能接入小程序3D地图吗?

  • vue 移动端项目中,使用了better-scrol

    vue 移动端项目中,使用了better-scrol

  • css如何做出区域平均划分为四列

    css如何做出区域平均划分为四列

腾讯云代理商
海外云服务器