Vue H5 History 部署IIS上404问题

背景简介

vue使用vue-router时,默认的地址并不美观,以#进行分割,例如:http://www.xxx.com/#/main
为了访问地址能像正常的url同样,例如:http://www.xxx.com/user/id
按照官网介绍,使用 history 模式。可是却产生了问题。html

问题

由于咱们的应用是单页客户端应用,当用户在浏览器直接访问http://www.xxx.com/user/id时,刷新页面的时候,会返回404错误。vue

问题缘由

服务端URL匹配不到相应的路由资源web

解决方案

官网提供的解决方案只支持Apache服务器以及Nginx服务器配置,然而IIS的解决方案并无给出vue-router

  • 方案一浏览器

    可经过给IIS站点设置虚拟目录的方式可解决该问题,可是这方式路由比较多的时候比较麻烦。
    添加虚拟目录服务器

  • 方案二工具

    一、下载Web平台安装程序(https://www.microsoft.com/web/downloads/
    二、若是已经安装过Web平台安装程序,能够在IIS站点看到该程序
    查看Web平台安装程序
    三、查找Url重写工具2.0并进行安装
    查找Url重写工具2.0
    四、安装完毕后,从新打开IIS控制台,进入相应站点,就能够看到URL重写该功能模块
    查看URL重写工具
    五、添加规则,并选择入站规则-空白规则
    添加规则
    完成规则网站

总结

Url重写设置
匹配的URL:请求的URL选择与模式匹配,模式中填写*,使用选项选择通配符;即表示全部的网站都经过此模式进行检查匹配。
条件:是下面的条件选项,咱们选择不是文件,逻辑分组为所有匹配。
操做:重写到index.html(根据状况,设置为本身的单页面应用首页)。url

以上操做是设置咱们的页面请求为先检查有没有该文件,没有该文件所有重写到首页,从而可以使用自定义路由。而后在vue程序中设置/index.html路径为起始页,而且定义404页面。3d

相关文章
相关标签/搜索