ngRoute为所有路由设置基本URL

时间:2013-07-21 03:38:07

标签: angularjs

是否可以在 AngularJS 应用中为所有路由添加基本网址?基本上改变它在服务器上的位置(如果有意义......那么它不会通过/访问,而是通过/something/)。

要添加一些上下文,我尝试将一个现有的 Angular 应用程序置于某些身份验证之后,以便现在可以在成功登录后在地址http://mysite/secure处访问该应用程序。

问题是,如果我要在http://mysite/secure加载应用程序它工作正常(服务器显然会提供正确的页面),但点击任何链接将导致页面重新加载并路由到{{1而不是http://mysite/#newpage

不向所有路由添加http://mysite/secure/#newpage,链接元素可以吗?干杯,对不起,如果措辞不好。

2 个答案:

答案 0 :(得分:38)

设置<base> HTML5标记可能有所帮助。来自文档here

  

相对链接

     

请务必检查所有相关链接,图片,脚本等。您必须在主html文件(<base href="/my-base">)的头部指定网址基础,或者必须使用绝对网址(以/开头)因为相对网址将使用文档的初始绝对网址解析为绝对网址,这通常与应用程序的根目录不同。

     

强烈建议在文档根目录下启用历史记录API运行Angular应用程序,因为它会处理所有相关链接问题。

答案 1 :(得分:38)

基础href的位置必须为尾随/。例如:

<base href="location" />

不起作用。它必须采用以下格式:

<base href="location/" />