vue3配置caddy作为静态服务器,在浏览器地址栏刷新出现404

vue3配置caddy作为静态服务器,在浏览器地址栏刷新出现404

  • [1 情况描述](#1 情况描述)
  • [2 原因](#2 原因)
  • [3 配置](#3 配置)

1 情况描述

在vue打包之后,形成dist文件,采用caddy作为静态资源服务器。在浏览器中输入域名时可以访问网站,但是,进过路由导航栏内部的跳转之后,想要在浏览器中刷新资源,发现浏览器出现404。

2 原因

这个主要是vue的历史记录模式导致的。

由于我们的应用是一个单页的客户端应用,如果没有适当的服务器配置,用户在浏览器中直接访问 https://example.com/user/id,就会得到一个 404 错误。

这是因为单页的客户端应用中,所有资源请求都是通过打包后的index.html作为入口进行处理的。这时如果只是通过配置的根目录进行访问,那肯定找不到。

这时应该将没有找到的路由全部指向index.html中。

3 配置

handle 的使用,可以有效的隔离不同的请求,防止后端的请求被错误的判断为前端的请求。

复制代码
example.com {

	handle /api/* {
		reverse proxy localhost:9911
	}
	handle {
		root * /home/www/dist
		encode zstd gzip
		file_server
		try_files {path} /
	}
}

https://router.vuejs.org/zh/guide/essentials/history-mode.html#Caddy-v2

相关推荐
codeshareman22 分钟前
JSON.stringify 在 React Hooks 依赖项里的坑:一次复盘
javascript
进击的尘埃24 分钟前
把 LLM 吐出来的组件扔进 `iframe` 跑:沙箱隔离这件事没你想的那么简单
javascript
ujainu26 分钟前
Electron 极简时钟应用开发全解析:托盘驻留、精准北京时间与 HarmonyOS PC 适配实战
javascript·electron·harmonyos
清空mega27 分钟前
《Vue Router 与 Pinia 入门:页面跳转、动态路由、全局状态管理一篇打通》
前端·javascript·vue.js
进击的尘埃28 分钟前
从一个 `console.log` 顺序翻车说起,聊聊微任务那些糟心事
javascript
踩着两条虫28 分钟前
AI 驱动的 Vue3 应用开发平台 深入探究(十):物料系统之内置组件库
前端·vue.js
脑子不好真君33 分钟前
手势操控的粒子土星 (Three.js + MediaPipe)
开发语言·javascript·ecmascript
oioihoii37 分钟前
数据库查询优化中的谓词下推策略与成本感知优化实践
服务器·数据库·oracle
学习是生活的调味剂43 分钟前
大模型应用之使用LangChain实现RAG(二)智能客服
服务器·数据库·langchain
m0_738120721 小时前
渗透测试——pyexpvm靶机详细提权过程(MSF框架,Hydra数据库爆破,SUDO提权)
服务器·网络·数据库·python·sql·web安全