IIS+vue 处理history路由模式下,刷新出404问题

问题描述:由于vue-router的history模式会让浏览器地址栏加后缀,这导致刷新时会出现404错误。

原因分析:刷新时浏览器根据地址栏的地址请求服务器,iis中没有找到这个路径对应的接口或文件,所以报错。

解决方案

1、安装 url-rewrite,下载地址:URL Rewrite : The Official Microsoft IIS Site

2、在web网站根目录中创建一个 web.config 文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Handle History Mode and custom 404/500" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

3、重启IIS和程序,问题解决。

—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花