Php Yii UrlManager和多个Get参数

Php Yii UrlManager和多个Get参数,php,.htaccess,url,yii,Php,.htaccess,Url,Yii,我和我的经理有问题。我使用的是path格式,希望传递多个get变量。url如下所示: /Yii/app/de/user/admin/id/5/test/hello 我的.htaccess: Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteBase /Yii/app/ RewriteRule ^(.*)$ index.php?/$1 [QSA,L] 我尝试使用urlMana

我和我的经理有问题。我使用的是path格式,希望传递多个get变量。url如下所示:

/Yii/app/de/user/admin/id/5/test/hello 
我的.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参数的可变数量,它不起作用。例如:

如果使用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'
}

但是,如果您想使用URL管理器来“美化”URL,该怎么办呢。我不想要这个?以及我的URL中的参数名和=。我希望URL看起来像:www.yourdomain.com/yourController/yourAction/5/hello/de,我希望URL管理器映射URL组件以获取参数。很抱歉。我离这太远了,但你可以问一个新问题,并参考这个问题。
public function yourAction($id, $test, $language){
  //$id is 5
  //$test is 'hello'
  //$language is 'de'
}