为什么通过 AngularJS 的 $location.hash 设置 URL 散列会在散列前额外添加一个“#/”?

Why does setting the URL hash through AngularJS's $location.hash add an extra "#/" before the hash?

添加语句 $location.hash('tab1'); 后,我希望 URL 更改为“/#tab1”,但它变成了“/#/#tab1”。

是什么导致出现额外的“#/”,我该如何避免?

更新: 澄清一下,我不想从片段 URL 中删除散列,而是从空路径中删除。根据我的语法 $location.hash('tab1');,我希望浏览器 URL 变成“/#tab1”,但它变成了“/#/#tab1”。

额外的'#/'是由$locationProvider 配置引起的。它可以通过

删除

$locationProvider.html5Mode(true)

Removing the hashtag from AngularJS urls (# symbol)