thinkphp5 与 vue 前端刷新页面报 404 错误的解决方法
在使用 thinkphp5 作为后端和 vue.js 作为前端开发时,遇到了刷新页面出现 404 错误的情况。具体表现为:在前端代码打包后,将其放置在 public 文件夹下后,刷新页面就会报错。
问题分析
这个问题产生的原因在于,nginx 的配置没有正确处理刷新页面时的路由。由于前端使用的是 history 模式,刷新时不会触发后端路由,而是直接请求前端代码对应的路径。如果 nginx 配置中没有针对这些路径的处理规则,就会报 404 错误。
立即学习“PHP免费学习笔记(深入)”;
解决方法
为了解决这个问题,需要在 nginx 配置中添加 try_files 指令,以确保刷新页面时正确处理请求。修改后的 nginx 配置如下:
location / { root E:/www/doctorLink/public; index index.html; # 解决 404 try_files $uri $uri/ /index.html; }
登录后复制
在这个配置中,try_files 指令的作用是:
- 尝试寻找 $uri 指定的文件。
- 如果文件不存在,则尝试寻找 $uri/ 指定的目录。
- 如果目录也不存在,则尝试寻找 /index.html 文件。
通过这种方式,nginx 可以正确处理刷新页面的请求,并确保始终加载 index.html 文件,从而避免 404 错误。
以上就是ThinkPHP5和Vue项目刷新页面出现404错误如何解决?的详细内容,更多请关注抖狐科技其它相关文章!
-
小红书一直闪退无法解决
要解决小红书闪退问题,请按照以下步骤操作:检查网络连接是否稳定。更新应用程序以修复潜在的错误。清除缓存和数据以释放存储空间。重新安装应用程序以重置设置。关闭后台运行的应用程序以释放内存。检查存储空间是...
-
Pytest 输出 E s . 代表了什么?
解读 Pytest 输出状态代码 在运行 Pytest 测试时,你会看到不同的状态代码输出,例如 E s . 等。这些代码表示测试用例的执行结果。.(点号):测试用例通过。F(Failure):测试用...
-
linux如何复制命令到终端
在 linux 中复制命令到终端的方法有四种:1. 使用 x 窗口系统复制粘贴;2. 使用中键复制;3. 使用命令行工具(echo | xclip 和 xclip -o);4. 使用历史记录(ctrl...
-
如何在 Golang 函数中接收可选参数?
如何在 golang 函数中接收可选参数?使用指针类型声明结构体指针,用作函数参数类型。如果指针不为 nil,打印结构体实例字段;否则,打印“未提供名称”。在实战案例中,age 字段作为指向 int...
-
魔兽世界诺格弗格药剂怎么获取 诺格弗格药剂获取方法分享
在《魔兽世界》中,诺格弗格药剂是一种有趣的药剂,可以让你的角色变成骷髅模型,并且附带一些特殊效果,如缓落术。以下是获取诺格弗格药剂的详细步骤: 魔兽世界诺格弗格药剂怎么获得答:完成【口渴的地精】任务线...