ngRoute为所有路由设置基本URL

ada*_*amK 52 angularjs

是否可以在AngularJS应用程序中的所有路径中添加基本URL?基本上改变它在服务器上的位置(如果有意义的话......那么它将被访问而不是通过但是通过).//something/

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

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

没有添加/secure/到所有路由和链接元素是否可能?干杯,对不起,如果措辞不好.

Den*_*sel 39

基本href的位置必须是尾随/.例如:

<base href="location" />
Run Code Online (Sandbox Code Playgroud)

不管用.它必须采用以下格式:

<base href="location/" />
Run Code Online (Sandbox Code Playgroud)

  • `<base href ="/ location /"/>`这两个斜杠都是必需的. (21认同)
  • @yngvar,我将我的角度应用程序保留在Apache2代理后面进行一些url重写,也许这是一个原因. (2认同)

Dav*_*ope 38

设置<base>HTML5标记可能会有所帮助.从这里的文档:

相关链接

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

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