【发布时间】:2018-12-04 11:43:38
【问题描述】:
我在 Windows 服务器的 IIS 上部署了一个使用 Angular 6 开发的应用程序。 现在我面临一个问题,如果我刷新页面,在导航应用程序时会显示 404 - 找不到文件或目录。 我查看了与此问题相关的帖子并尝试应用修复。但没有运气。 我不想在我的网址中使用#。我只想使用像http://example.xyz.com/detail/12这样的网址
如果我使用#,那很好,但我不想使用#。
我也尝试添加 web.config,但没有成功。任何人都可以在这里帮助如何解决此问题,以便在刷新时可以打开我想要重新加载的同一页面。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Angular Routes" 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>
</system.webServer>
</configuration>
【问题讨论】:
-
你应该配置iis路由到未知url上的index.html,因为它认为你的角度路由是服务器上的一个文件夹,并返回404,因为实际上没有这样的文件夹
-
怎么做?请解释一下。因为在 IIS 的默认文档中已经存在 index.html
-
我不是 iis 大师,但我想像这样 stackoverflow.com/a/43787391/6528560