🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
主要是因为服务器的环境不支持path_info引起的 详细原因分析 [https://blog.csdn.net/hanzengyi/article/details/53483171](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 ~~~ 如下图 [![](https://box.kancloud.cn/831b58749c3a0bed015d5ca14ad50b91_1876x836.jpg)](https://box.kancloud.cn/831b58749c3a0bed015d5ca14ad50b91_1876x836.jpg)