后台打不开,空间不支持pathinfo的解决方法
主要是因为服务器的环境不支持path_info引起的 详细原因分析 https://blog.csdn.net/hanzengyi/article/details/53483171 频道打不开,后台打不开,一般原因是服务器没有配置好,主要出现在IIS与 nginx 服务器, 而apache默认是不存在这个问题的.
针对 windows 环境下面的 nginx 环境,我们给出宝塔环境的配置方法,大家可以对应的参数修改 其中 fastcgi_pass 127.0.0.1:4556; 是widnows的特色,linux是不一样的.注意查看原来的.
比如 宝塔环境 默认一般是如下的配置
#START-PHP location ~ \.php$ { root D:/wwwroot/域名路径; fastcgi_pass 127.0.0.1:4556; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #END-PHP你把他换成如下的即可
#START-PHP location ~ .+\.php($|/) { fastcgi_pass 127.0.0.1:4556; fastcgi_split_path_info ^((?U).+.php)(/?.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #END-PHP注意其中的端口号 4556 要换成你自己的.
如果要隐藏index.php文件的话,还需要加多一段代码,如下
#START-PHP location / { index index.php index.html index.htm; if (-e $request_filename) { break; } if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; } } location ~ .+\.php($|/) { fastcgi_pass 127.0.0.1:4556; fastcgi_split_path_info ^((?U).+.php)(/?.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #END-PHP如下图
