问题场景:买了个源码,目录结构下图:
代码是分组GROUP的,在Modules下面。
访问前台www.xx.com/Index没问题,访问后台:www.xx.com/systemlogined报错:
找不到模块systemlogined
类似错误:找不到模块index.
解决方案:
问题原因是Nginx不支持pathinfo和Linux服务器大小写问题
Nginx配置:
try_files $uri $uri/ /index.php$request_uri;
location ~ \.php {
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.*\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
大小写的话:需要把分组目录名第一个字符改为大写,
现在是【systemlogined】,改为【Systemlogined】
TP默认走大写坑死人