如何在 IIS 服务器上配置 Vue 2 应用程序?

How to config Vue 2 application on IIS server?

我需要有关配置 IIS 服务器和 Vue 2 应用程序的帮助,我刚刚安装了 vue 2 application 并在 Windows IIS 7 server 上进行了生产构建,一切正常,只有一件事不起作用: 当我尝试打开用 vue-router 编写的 link “example mysite.com/somepage” 的任何页面时,我看到 404 error,但是如果我点击菜单 link 工作正常,如果你只需键入 main url mysite.com 它将打开,但任何其他路线都不起作用!

我想我需要设置我的 httpRedirect 或类似的东西!

根据你的信息,我假设你正在使用 history 模式,这是我一直在使用的模式,你可以参考 here:

<?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="index.html" />
        </rule>
      </rules>
    </rewrite>
      <httpErrors>     
          <remove statusCode="404" subStatusCode="-1" />                
          <remove statusCode="500" subStatusCode="-1" />
          <error statusCode="404" path="/survey/notfound" responseMode="ExecuteURL" />                
          <error statusCode="500" path="/survey/error" responseMode="ExecuteURL" />
      </httpErrors>
      <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

vue-router documentation中所述,要使用历史记录模式,您需要执行以下操作:

  1. 安装 IIS UrlRewrite。
  2. 将 web.config 文件拖放到项目的根目录中。请参阅 vue-router documentation 示例 web.config 文件。