在 url 中使用 & 时出现 404 错误

404-error when using & in url

我正在使用 yii2 和 xampp 构建一个网站,并且我有一个带有

的导航栏
 $menuItems = [...
                ['label' => 'Mitlesen', 'url' => ['/site/uebersicht&seite=1']],
               ...]

这导致站点:index.php?r=site%2Fuebersicht%26seite%3D1

我收到错误消息:

Not Found (#404)
Unable to resolve the request: site/uebersicht&seite=1

当我删除 &seite=1 时,错误消失了。 当我直接在浏览器中调用 ... site/uebersicht&seite=1 时,它也工作正常。

您正在 url 编码 url 因此 & 被转换为 %26。

您需要确保此 url 上没有出现 url 编码。

有关 url 个编码字符的参考,请参阅 here

但是,如果没有“?”,我不确定您为什么要在查询字符串中放置一个“&”。第一的。也许你想交换它?

正确的查询字符串可能如下所示:

http://site.com/some/route/?name=sam&country=spain

你应该简单地使用 'url' => ['/site/uebersicht', 'seite' => 1]

查询字符串不正确。您应该输入 ? 而不是 &。所以你的 url 应该是 /site/uebersicht?seite=1