Laravl框架下 非默认/路由URL都不生效,页面报404错误的解决方法
背景:
当使用Laravel框架部署项目时,有时会出现在非默认/路由URL都不生效,页面报404错误。
原因:
其实此类问题的出现一般是因为配置Nginx目录时,Laravel项目部署在二级及以上的目录下才会出现的问题,原因如下:
举例:若部署在二级目录,则URL为:http://www.xxx.com/public/,实际请求的地址为:http://www.xxx.com/public/index.php,
但在浏览器输入其他路由地址,如list/index时,预期的URL为:http://www.xxx.com/public/list/index,但实际请求定位到:http://www.xxx.com/index.php 里面,所有页面会报404错误。
解决方法:
打开nginx.conf配置,新增红色标记的代码,保存,重启nginx服务即可。
location / { root /www/app; index index.php index.html index.htm; try_files $uri $uri/ /public/index.php$is_args$query_string; }
注意:要灵活运用,根据项目部署的目录级别层级,修改对应的/xxx/public/
详见Laravel官方文档说明:
http://laravel.com/docs/5.0/installation#pretty-urls

浙公网安备 33010602011771号