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

 

posted @ 2019-11-07 22:35  申文哲  阅读(277)  评论(0)    收藏  举报