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

相关推荐
努力努力再努力wz13 分钟前
【Linux网络系列】:JSON+HTTP,用C++手搓一个web计算器服务器!
java·linux·运维·服务器·c语言·数据结构·c++
岳哥i7 小时前
vue鼠标单机复制文本
javascript
幻云20108 小时前
Python深度学习:从筑基到登仙
前端·javascript·vue.js·人工智能·python
我即将远走丶或许也能高飞10 小时前
vuex 和 pinia 的学习使用
开发语言·前端·javascript
爱吃泡芙的小白白10 小时前
Vue 3 核心原理与实战:从响应式到企业级应用
前端·javascript·vue.js
小技工丨11 小时前
华为TaiShan 200 2280 ARM服务器虚拟化部署完整指南
运维·服务器·arm开发
码上成长11 小时前
JavaScript 数组合并性能优化:扩展运算符 vs concat vs 循环 push
开发语言·javascript·ecmascript
油丶酸萝卜别吃11 小时前
Mapbox GL JS 表达式 (expression) 条件样式设置 完全指南
开发语言·javascript·ecmascript
摘星编程12 小时前
用React Native开发OpenHarmony应用:timing定时动画参数
javascript·react native·react.js
JosieBook12 小时前
【Vue】12 Vue技术—— Vue 事件修饰符详解:掌握事件处理的高级技巧
前端·javascript·vue.js