如何将 Azure 配置为始终显示 index.html
How to configure Azure to always show index.html
我在 Azure 上托管一个 Web 应用程序 - 我昨天通过将所有必需的文件复制到 wwwroot 来部署它。
它有点工作 - 除了它的行为与我刚 运行 npm 在本地启动时不同(它是一个 Angular 2 应用程序,配置从 5 min quickstart guide 复制) - 当我运行 在本地,我可以手动输入任何由路由器处理的 URL 并且它确实加载了,在 Azure 上它抛出 404(当我只刷新主页以外的任何页面时也会发生)-我假设当我在本地 运行 时,它发现我总是需要加载 index.html,而不管实际的 URL,并让路由器处理所有事情。如何在 Azure 上复制此行为?
我认为您可能必须为此使用 URL 重写,除非您使用 MVC 来传送页面。 Here 是之前的答案,可以帮助您配置 URL Rewrite。它在谈论 WordPress,但它应该为您指明正确的方向。
如果 .index.html 包含在默认文档列表选项中,您应该尝试在 Web 应用程序的应用程序设置下检查 Azure 门户
如果您能重新表述您的问题以便更好地理解它,我将很高兴。
默认情况下,您的 Azure WebApp 运行 在 IIS 实例上。
如果你想处理 Html5 模式(没有 hashbang),那么你必须创建一个 Web.Config
文件并定义一个重写。
见How do I configure IIS for URL Rewriting an AngularJS application in HTML5 mode?
不要忘记在 index.html 的 <head>
中设置 <base href="/">
。否则它不会工作。
我在 Azure 上托管一个 Web 应用程序 - 我昨天通过将所有必需的文件复制到 wwwroot 来部署它。 它有点工作 - 除了它的行为与我刚 运行 npm 在本地启动时不同(它是一个 Angular 2 应用程序,配置从 5 min quickstart guide 复制) - 当我运行 在本地,我可以手动输入任何由路由器处理的 URL 并且它确实加载了,在 Azure 上它抛出 404(当我只刷新主页以外的任何页面时也会发生)-我假设当我在本地 运行 时,它发现我总是需要加载 index.html,而不管实际的 URL,并让路由器处理所有事情。如何在 Azure 上复制此行为?
我认为您可能必须为此使用 URL 重写,除非您使用 MVC 来传送页面。 Here 是之前的答案,可以帮助您配置 URL Rewrite。它在谈论 WordPress,但它应该为您指明正确的方向。
如果 .index.html 包含在默认文档列表选项中,您应该尝试在 Web 应用程序的应用程序设置下检查 Azure 门户 如果您能重新表述您的问题以便更好地理解它,我将很高兴。
默认情况下,您的 Azure WebApp 运行 在 IIS 实例上。
如果你想处理 Html5 模式(没有 hashbang),那么你必须创建一个 Web.Config
文件并定义一个重写。
见How do I configure IIS for URL Rewriting an AngularJS application in HTML5 mode?
不要忘记在 index.html 的 <head>
中设置 <base href="/">
。否则它不会工作。