我的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'
}