Yii url规则有斜线

时间:2014-04-13 06:11:03

标签: php url yii

我需要在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

3 个答案:

答案 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',