VUE3发布到IIS跳转页面报404以及刷新报404解决

Vue3项目部署到IIS服务器后,使用history模式时,刷新页面或跳转链接会报404错误。解决方法涉及Vue-router的hash和history模式理解,以及IIS的URL重写配置。通过安装URL重写模块,设置重写规则,将所有未找到的路径重定向到/index.html,成功解决了404问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue项目如何部署不说了,自行百度,很简单,关键是配置。我的是管理后台,部署好后,登录页面刷新没问题,登录后刷新报404,以及点击链接跳转报404。

1、细说一下跳转报404,这个功能是要求,打开新页面的,一开始以为是这个功能导致的404,所以改为不跳出新页面,重新发布,果然一切安好。

2、但是本着不怕死的态度,还是搞一搞这个404。百度一下,发现这个问题很常见,基本解释都是一致的:

Vue-router 使用 hash 模式:使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。所以hash模式下,上线之后不会出现问题。

history 模式下,会出现一个致命的BUG,在服务器上面上线之后,点击页面跳转没有问题,但是一旦点击刷新页面会出现404错误,原因是history模式下刷新界面,就等同于向服务器直接请求: www.****.com/jichu/123。但是在服务器后端的路径配置中压根就没有 /jichu/123 ,所以后端匹配不到相应的值,就会返回404错误,。有的朋友就会有疑虑,为什么在vue项目开发的时候不会出现这种问题呢?因为在vue项目开发的时候是访问自己的8080服务器,后端有进行处理,在刷新界面后找不到相对路径时,会重新渲染index.html界面,把路由的控制权交给前端,然后前端负责路由的匹配,在找到符合/jichu /123 这种格式的路由后,就会匹配成功。从而达到页面正常显示的情况.。

以上是copy别人的解释,开始自己动手结合百度,步骤仅供参考,因为情况不一定相同,我也是尝试了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值