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

时间:2017-08-20 04:52:11

标签: iis-7 vuejs2 windows-server-2008 vue-router

我需要有关配置IIS服务器和Vue 2应用程序的帮助,我刚刚在vue 2 application上安装了Windows IIS 7 server生产版本,并且一切正常,只有一件事不起作用: 当我尝试打开任何包含链接" example mysite.com/somepage"的页面时用vue-router写的,我看到404 error,但如果我点击菜单链接工作正常,如果你只输入主url mysite.com它将打开,但任何其他路由不工作!

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

2 个答案:

答案 0 :(得分:5)

根据您的信息,我假设您使用的是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>

答案 1 :(得分:5)

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

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