如何在 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中所述,要使用历史记录模式,您需要执行以下操作:
- 安装 IIS UrlRewrite。
- 将 web.config 文件拖放到项目的根目录中。请参阅 vue-router documentation 示例 web.config 文件。
我需要有关配置 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中所述,要使用历史记录模式,您需要执行以下操作:
- 安装 IIS UrlRewrite。
- 将 web.config 文件拖放到项目的根目录中。请参阅 vue-router documentation 示例 web.config 文件。