Yii UrlManager和多个Get参数


Yii UrlManager and multiple Get parameters

我的Yii urlManager有问题。我使用的是路径格式,希望传递多个get变量。网址如下:

/Yii/app/de/user/admin/id/5/test/hello 

my.htaccess:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteBase /Yii/app/
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]

我试过使用urlManager,但它不符合以下规则:

'rules' => array(
    '<language:'w+>/<controller:'w+>/<id:'d+>'=>'<controller>/view',
    '<language:'w+>/<controller:'w+>/<action:'w+>/<id:'d+>'=>'<controller>/<action>',
    '<language:'w+>/<controller:'w+>/<action:'w+>'=>'<controller>/<action>',
)

$_GET应该是这样的:

array(3) { 
    ["/de/user/admin"]=> string(0) ""
    ["id"]=> string(1) "5" 
    ["test"]=> string(5) "hello" 
    ["language"]=> string(2) "de" 
}

它必须适用于数量可变的get参数。例如:

如果使用ajax按CGridView进行排序,则参数的数量会有所不同。

感谢

您不需要url管理器。

您的变量将被传递到如下操作:

www.yourdomain.com/yourController/yourAction?id=5&test=hello&language=de

这是你在控制器中的动作函数

public function yourAction($id, $test, $language){
  //$id is 5
  //$test is 'hello'
  //$language is 'de'
}