【问题标题】:Angular application refresh doesn't work when hosted in Azure在 Azure 中托管时,Angular 应用程序刷新不起作用
【发布时间】:2018-09-07 17:18:10
【问题描述】:

应用程序在本地运行,但是当我将它托管在 Azure 上时,每当我按刷新时,它就会显示“您要查找的资源已被删除、名称已更改或暂时不可用。”

我找到了解决方案,例如将 web.config 文件放在根文件中,并将其添加到 angular-cli.json 文件的资产中,但随后应用程序根本无法运行,并显示 500 internal server error。

如果有人可以帮助我,我将不胜感激,因为我已经为此苦苦挣扎了很长时间。

【问题讨论】:

  • 您如何托管页面?如果找不到路由,您需要确保重定向到index.html

标签: angular azure refresh hosting


【解决方案1】:

您应该将 web.config 移动到“src”文件夹而不是根目录。

web.config 也应该是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Angular4" 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>

取自这篇文章:angular 2 azure deploy refresh error : The resource you are looking for has been removed, had its name changed, or is temporarily unavailable

【讨论】:

  • 我的错,web.config 在 src 文件夹中,但显然 web.config 的内容很糟糕,因为当我复制您发布的内容时它正在工作!谢谢!
猜你喜欢
  • 1970-01-01
  • 2019-08-23
  • 1970-01-01
  • 1970-01-01
  • 2019-10-25
  • 2018-04-06
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
相关资源
最近更新 更多