我正在开发 Angular2 应用程序。它使用“@Angular/common”:“2.0.0-rc.4”和“@Angular/router”:“3.0.0-beta.2”。
我的问题是,当我在某些页面上使用浏览器刷新时,我看到一条错误消息...
"您正在查找的资源已被删除、更名或暂时不可用。”
如果我直接点击网址也会发生这种情况。
一个示例网址是...https://tilecasev2.azurewebsites.net/profile/therichmond
但是,如果您通过主页查看页面,它们可以正常工作,但只有在刷新之前(https://tilecasev2.azurewebsites.net).
我的index.html 头中有以下内容...
<base href="/">
为什么会发生这种情况以及如何解决它?
HashLocationStrategy
通过包含一个来避免这个问题#
在你所有的角度路线中,但并不是真的fix it.
要使没有哈希的角度路由在 azure 中像在本地开发环境中一样工作,您只需将 IIS 配置为以 root 身份重写所有请求。这让 Angular 处理路由。
为此,请添加一个Web.config
文件到您网站的根文件夹,其中包含以下内容:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" 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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)