我需要在yii中从我的网址获取一个http地址,但是$ url参数为我返回了错误的值
配置:
'show/c/<id:\d+>/<url:\w+>'=>'show/c',
Controler:
public function actionC($id , $url)
{
echo $url ;
}
请求网址:
http://localhost/mink/show/c/id/6/url/https://mail.google.com/mail/u/0/#inbox
$ url值为“http:”
修改: 我发现我有什么问题,我必须使用
http://localhost/mink/c/6/https://mail.google.com/mail/u/0/#inbox
并在网址规则
中'show/c/<id:\d+>/<url:.+>'=>'show/c',
现在有效,ty
答案 0 :(得分:1)
试试这个:
'show/c/<id:\d+>/<url:.+>'=>'show/c',
这应该捕获URL中的任何内容,当然包括斜杠。
答案 1 :(得分:0)
这将有效
'show/c/<id:\d+>/url/<url:[\w.:\/]+>' => 'show/c',
您可以在规则中使用正则表达式语法。
答案 2 :(得分:0)
你忘记了匹配静态&#34; url&#34; url变量之前的字符串:
'show/c/<id:\d+>/url/<url:.+>'=>'show/c',
^^^ // Add this
您还需要从正则表达式中删除:\w+
:
'show/c/<id:\d+>/url/<url:.+>'=>'show/c',
^^^ // Remove this
这应该是您的最终规则:
'show/c/<id:\d+>/url/<url>'=>'show/c',