我也遇到了。
布署到nginx服务器上后,要修改配置文件。(我的是用oneinstack安装的lnmp)
1.修改/usr/local/nginx/conf/vhost/ 下,域名对应的.conf
location ~ [^/]\.php(/|$) {
#fastcgi_pass remote_php_ip:9000;
fastcgi_pass unix:/dev/shm/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.conf;
}
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
2.修改 代码:
config/app.php
// 兼容PATH_INFO获取, 加上'REQUEST_URI'。
'pathinfo_fetch' => ['REQUEST_URI','ORIG_PATH_INFO', 'REDIRECT_PATH_INFO', 'REDIRECT_URL'],
// URL伪静态后缀
'url_html_suffix' => 'html',
// URL普通方式参数 用于自动生成
'url_common_param' => true,
// URL参数方式 0 按名称成对解析 1 按顺序解析
'url_param_type' => 0,
// 是否强制使用路由
'url_route_must' => false,
// 是否自动转换URL中的控制器和操作名
'url_convert' => false,
希望对遇到同样问题的朋友有帮助。