如何配置Azure以始终显示index.html

时间:2016-01-20 12:06:16

标签: angularjs azure url-routing angular-routing

我在Azure上托管一个Web应用程序 - 我昨天只是将所有必需的文件复制到wwwroot中进行部署。 它有点工作 - 除了它的行为与我在本地运行npm start时的行为不同(它是一个Angular 2应用程序,配置从5 min quickstart guide复制) - 当我在本地运行时,我可以手动输入任何由路由器处理的URL并且它确实加载了,并且在Azure上它会抛出404(当我只刷新主页之外的任何页面时也会发生这种情况) - 我认为不知怎的当我在本地运行它时,它发现我总是需要加载index.html,无论实际的URL,并让路由器处理一切。如何在Azure上复制此行为?

3 个答案:

答案 0 :(得分:2)

默认情况下,Azure WebApp正在IIS实例上运行。 如果你想处理Html5模式(没有hashbang),那么你必须创建一个Web.Config文件并定义一个重写。

请参阅How do I configure IIS for URL Rewriting an AngularJS application in HTML5 mode?

不要忘记在index.html的<base href="/">中设置<head>。否则它不会工作。

答案 1 :(得分:0)

我认为您可能不得不使用URL Rewrite,除非您使用MVC来传递页面。 Here是之前的答案,可帮助您配置URL重写。它在谈论WordPress,但它应该指向正确的方向。

答案 2 :(得分:0)

如果.index.html包含在默认文档列表选项中,您应该尝试在Web应用程序的应用程序设置下检查Azure门户 如果你能改写你的问题以便更多地理解它,我会很高兴。