2

我已经将 AngularJS locationProvider 配置为使用 html5(以及 hashbangs 中的后备)

$locationProvider.html5Mode(true).hashPrefix('!')

问题是,如果我访问例如http://locahost/#!/pathh/subpathangular 最终将浏览器中显示的 URL 重写为http://locahost/#!%2Fpath%2Fsubpath. 我在 mac 上使用 chrome 27。

谢谢!

4

1 回答 1

2

这可能会有所帮助:angular-slash-gets-encoded

我通过做两件事来解决它:

  1. 我添加<base href="/">到 index.html。
  2. 我激活了 HTML5 模式但没有前缀。

这样我可以使用http://localhost/#!/routeorhttp://localhost/route并且 URL 被正确重写。

于 2013-11-02T14:39:58.793 回答