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

相关推荐
张清悠几秒前
CSS引入外部第三方字体
前端·javascript·css
追逐梦想之路_随笔2 分钟前
手撕Promise,实现then|catch|finally|all|allSettled|race|any|try|resolve|reject等方法
前端·javascript
Tzarevich3 分钟前
Tailwind CSS:原子化 CSS 的现代开发实践
前端·javascript·css
微爱帮监所写信寄信13 分钟前
微爱帮监狱寄信写信小程序:深入理解JavaScript中的Symbol特性
开发语言·javascript·网络协议·小程序·监狱寄信·微爱帮
xjxijd17 分钟前
数据中心能效 AI 引擎:全链数字孪生 + 传热学算法,PUE 稳定 1.05 以下
大数据·服务器·人工智能
前端小臻20 分钟前
RustFs 前端开发
javascript·vue.js·rustfs
+VX:Fegn089523 分钟前
计算机毕业设计|基于springboot + vue英语学习系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
syt_101329 分钟前
js基础之-如何理解js中一切皆对象的说法
开发语言·javascript·原型模式
十五00133 分钟前
若依集成微软单点登录(SSO)
javascript·microsoft
YaeZed35 分钟前
Vue3-插槽slot
前端·vue.js