vue history模式刷新404原因_Vue应用部署到IIS服务器路由为history模式刷新出现404解决方案...

在Vue应用中切换到history模式会导致微信分享和自动登录问题,但页面刷新后会出现404错误。解决方法是在IIS服务器上安装URL Rewrite模块,并配置重写规则,将所有未匹配的URL重定向到index.html,消除文件检查,确保页面正常加载。
摘要由CSDN通过智能技术生成

背景简介:

用vue做微信公众号开发的小伙伴都知道,微信分享和自动登录需要,对于URL中存在'#'的地址,处理起来比较坑!所需参数会被截断丢失,导致签名错误,从而影响到前端开发小哥愉快的调用微信各种api方法。既然我们知道问题在于路由模式,那我们就改用history模式就不会存在这样的问题。但是换成history模式,就会有新的问题,就是页面刷新后,页面就无法显示了(404),丢囖,有图有真想,如下图:

12b76c88b688d98a2053bacf25435f65.png

。对于这个问题,解决方案就是,我们只需要在服务器配置如果URL匹配不到任何静态资源,就跳转到默认的index.html。本文以IIS服务器配置为主:

解决方案:

1.安装IIS UrlRewrite模块,下载地址(https://www.iis.net/downloads/microsoft/url-rewrite);

2.安装IIS UrlRewrite模块后,我们可以清楚看到IIS服务器上会显示,如下图:

a0728889970a07ccc3b1ba8861e72d05.png

多了URL重写模块,说明模块安装成功了,接下来就是写配置了,是不是迫不及待了鸭,啊哈哈哈哈。

3.服务器配置,如下图:

(1)

004a90d364a413c4898c06498fecf9d7.png

(2)

72efbd5330494adbfb268449e72d3f3c.png

到目前为止服务器配置我们就配好了,然后我们便可去刷新页面,看看效果吧,页面不再提示404,可页面喂猫变成空白了鸭?你问我鸭,我也母鸡鸭,那就打开浏览器调试模式看看囖,一看如下图:

07920283a35c0c77ce5bd56856b8f1af.png

喂猫会这样呢?翻阅资料查询,才知道,刚我们写的路由配置规则加入了文件检查,那知道问题了,那就好解决了,接下来就是配置最关键的一步,来囖来囖来囖。。。

3.去除文件检查,如下图:

ee0b0ec5dfac9cfc5480e3d0775e1e1d.png

配置完后,我们强刷下页面,页面一切正常,怎么刷都不会404跟页面空白辣,开不开心?刺不刺激鸭?小哥哥,嗷呜^_^。

好辣,最后来个总结吧,

----------------------------------------------------------------------------------------------

总结:

Url重写设置

匹配的URL:请求的URL选择与模式匹配,模式中填写(.*),使用选项选择通配符;即表示所有的网站都通过此模式进行检查匹配。

条件:是下面的条件选项,我们选择不是文件,逻辑分组为全部匹配。

操作:重写到index.html(根据情况,设置为自己的单页面应用首页)。

希望本文能够帮助有需要的人鸭,以上观点笔者在开发过程中遇到的问题与解决方案,欢迎各位前来交流与讨论,不喜勿喷。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值