Php 404使用&;在url中
我正在用Yi2和xampp建立一个网站,在那里我有一个导航栏Php 404使用&;在url中,php,yii2,Php,Yii2,我正在用Yi2和xampp建立一个网站,在那里我有一个导航栏 $menuItems = [... ['label' => 'Mitlesen', 'url' => ['/site/uebersicht&seite=1']], ...] 这将导致站点:index.php?r=site%2Fuebersicht%26seite%3D1 这里我得到了错误信息: Not Found (#404) Unable to r
$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编码字符的引用,请参阅
但是,我不确定如果首先没有“?”,为什么要在查询字符串中加“&”。也许你想交换一下
正确的查询字符串可能如下所示:
htttp://site.com/some/route/?name=sam&country=spain您只需使用
'url'=>['/site/uebersicht',seite'=>1]
这是一个不正确的查询字符串。你应该把?
而不是&
。所以你的url应该是/site/uebersicht?seite=1
我想鲁伯特是对的。如果这不起作用,请尝试调用index.php?r=site/uebersicht%26seite%3D1
,然后index.php?r=site/uebersicht&seite=1
rupter发现了问题:)我猜这应该是'url'=>['r'=>'/site/uebersicht','seite'=>1]
但在他的url中他有?r=/code>否。第一个参数应该没有“r”。然后,此数组由Url::to()()处理。是的,它使用的是“Url”=>['/site/uebersicht',seite'=>1]