项目环境:laravel5.6 +nginx1.16.0+php7.3.6
问题
项目部署到正式环境服务器后 带参数接口报错404 file not found 不带参数接口能正常访问

解决方法
nginx 配置修改
站点的配置文件增加以下代码
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
参考
server {
listen 80;
server_name www.baidu.com;
index index.html index.php;
root /www/oppeinwindows/admin/public;
charset utf-8;
location / {
//解决问题部分==============
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
# try_files $uri $uri/ /index.php$query_string;
//============
}
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}

该博客围绕Laravel 5.6项目部署到正式环境后出现的问题展开。项目使用Nginx 1.16.0和PHP 7.3.6,部署后带参数接口报错404 file not found,不带参数接口可正常访问。解决方法是对Nginx配置进行修改,在站点配置文件中添加相关代码。
7426

被折叠的 条评论
为什么被折叠?



