在 Nav::widget 中我写了新的菜单条目:
['label' => 'My profile', 'url' => ['/profile/professional&id='.$userlog->id]],
一切正常,我在菜单中看到了链接。在菜单悬停时,我在 firefox 中看到了很好的 url 地址:
/index.php?r=profile/professional&id=22
当我点击时,它会将我重定向到
/index.php?r=profile%2Fprofessional%26id%3D22
我看到 404 错误。如果我将 %2F 和其他符号更改为斜杠、“&”和“=”- 此 url 有效。
我用 utf-8 编码保存菜单文件,为什么我看到带有 %2F 和其他符号的 url?如何解决?
最佳答案
这是因为%2F
、%26
和%3D
是/
的urlencoded字符,&
和 =
分别。这是因为您将 Url 生成为字符串。 Yii 默认会在 url 属性中对字符串进行 Url 编码。您将需要使用类似这样的东西来使其工作
['label' => 'My profile','url' => [\Yii::$app->urlManager->createUrl(['/profile/professional','id'=>$userlog->id])]],
关于php - 菜单中的 Bad Nav::widget 编码,如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29462941/