Angularjs:在 url 上使用没有尾部斜杠的查询字符串时出现问题

Angularjs: Issue when a query string is used on url without trailing slash

在 asp.net mvc 站点中使用 Angular 1.5。

我有一个基本标签:

<base href="/fr/">

并且已设置 html5 模式。

网站运行良好。我使用 ui-router...没问题。 但是今天我点击了一个,这是当我尝试浏览到这种 url:

http://example.com/fr?arg=1

我收到来自 angular 的错误:

url 未定义

如果我导航到 /fr/?arg=1(带有尾部斜杠),错误就会消失。
如果我导航到 /fr/about/?arg=1,它将导航到索引页面但不会触发 "about" 状态。

如何使查询字符串起作用?

更新: 将 strictMode 设置为 false,正如@miqid 所建议的那样,解决了这个 url /fr/about/?arg=1 但不是基础 /fr?arg=1

的问题

故事的结局是 angularjs 团队不会更改当前代码来处理这种情况。他们更愿意依赖 Web 服务器 url 重写功能(在查询字符串之前添加缺少的尾部斜杠)。他们的文档会相应更新。

Reference