404 使用和 URL 时出错


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' => ['/site/uebersicht', 'seite' => 1]

你正在对网址进行 url 编码,因此 & 被转换为 %26。

您需要确保此网址上没有 URL 编码。

有关 url 编码字符的参考,请参阅此处。

但是,我不确定如果没有"?",为什么要在查询字符串中输入"&"。也许你想把它换过来?

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

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

这是一个不正确的查询字符串。你应该放?而不是&。所以你的网址应该是/site/uebersicht?seite=1