是否可以在 AngularJS 应用中为所有路由添加基本网址?基本上改变它在服务器上的位置(如果有意义......那么它不会通过/
访问,而是通过/something/
)。
要添加一些上下文,我尝试将一个现有的 Angular 应用程序置于某些身份验证之后,以便现在可以在成功登录后在地址http://mysite/secure
处访问该应用程序。
问题是,如果我要在http://mysite/secure
加载应用程序它工作正常(服务器显然会提供正确的页面),但点击任何链接将导致页面重新加载并路由到{{1而不是http://mysite/#newpage
。
不向所有路由添加http://mysite/secure/#newpage
,链接元素可以吗?干杯,对不起,如果措辞不好。
答案 0 :(得分:38)
设置<base>
HTML5标记可能有所帮助。来自文档here:
相对链接
请务必检查所有相关链接,图片,脚本等。您必须在主html文件(
<base href="/my-base">
)的头部指定网址基础,或者必须使用绝对网址(以/开头)因为相对网址将使用文档的初始绝对网址解析为绝对网址,这通常与应用程序的根目录不同。强烈建议在文档根目录下启用历史记录API运行Angular应用程序,因为它会处理所有相关链接问题。
答案 1 :(得分:38)
基础href的位置必须为尾随/。例如:
<base href="location" />
不起作用。它必须采用以下格式:
<base href="location/" />