laravel要在域名后加index.php才能访问其它页面

网站环境: phpstudy8.1.0.4集成环境 PHP7.3.4nts + Ngnix1.15.11 + MySql5.7.26

框架:Laravel6.18.0

问题现象:

首页加不加index.php都能正常访问,没问题;其他页面的访问必须要在前面加index.php才能访问,如:http://laravel.pensive.top/admin/login提示"404 not found",如果改成:http://laravel.pensive.top/index.php/admin/login又能访问,不会报错。

解决方法:

1,为了让其他页面不用在前面加index.php也能正常访问,我在学习群里也问了,百度上也查了几天资料,终于找到了https://blog.csdn.net/W1122345/article/details/82424750这篇文章上的方法有效果。

参照上面的方法,我在phpstudy上的设置-->配置文件-->vhosts.conf-->laravel.pensive.top_80.conf 上编辑添加了

try_files $uri $uri/ /index.php?$query_string;

这一行代码,【如下图】

 

2,重启Nginx1.15.11服务使得设置生效。

3,虽然上面的1,2点能解决问题,但是反复使用phpstudy8.1.0.4发现直接改完laravel.pensive.top_80.conf 后在【网站】--> 对应站点的【管理】-->【修改】的介面会提示配置文件已手动修改,在此操作会覆盖之前的操作,【如下图】

而且,手动改的配置文件内容虽然有效果,但是在【网站】-->【管理】-->【修改】的这个窗口的各个参数没有同步,只是提示改了这里后原先的手动配置会被覆盖。这样的话当你以后要在这里修改这个网站别的设置时,比如切换PHP版本什么 的,一确认的话,前面 手动改的解决index.php问题的代码就不存在了。所以不推荐1,2的方法。

【推荐的方法】

phpstudy8.1.0.4 -->【网站】-->【管理】-->【修改】-->【错误页面】参数最后添加代码

try_files $uri $uri/ /index.php?$query_string;

END

 

posted @ 2020-05-13 10:08  pensive2019  阅读(1508)  评论(0编辑  收藏  举报