|
本帖最后由 追影 于 2024-6-29 14:57 编辑
最近帮一个客户技术支持发现 大米CMS7 nginx下 /index.php/home/index/index访问出现404
一搜索原来是nginx默认不支持PATH_INFO 他用的是windows的宝塔 php7.2 发现宝塔内置了PATH_INFO相关配置 但是是错误的 不起作用
include/php72.conf llinux的宝塔/www/server/nginx/conf/pathinfo.conf
修改这个为:- location ~ \.php(.*)$ {
- try_files $uri =404;
- fastcgi_pass 127.0.0.1:20072; #默认都有的注意这个不要覆盖他的
- fastcgi_index index.php; #默认都有的注意这个不要覆盖他的
- set $path_info "";
- set $real_script_name $fastcgi_script_name;
- if ($fastcgi_script_name ~ "^(.+?\.php)(/.+) {
- #将文件地址赋值给变量 $real_script_name
- set $real_script_name $1;
- #将文件地址后的参数赋值给变量 $path_info
- set $path_info $2;
- }
- #配置fastcgi的一些参数
- fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
- fastcgi_param SCRIPT_NAME $real_script_name;
- fastcgi_param PATH_INFO $path_info;
- include fastcgi_params;
- }
复制代码
顺利解决:
测试支持pathinfo否trade目录下新建test.php- <?php
- var_dump($_SERVER['PATH_INFO']);
复制代码
出现下图
|
|