Mod rewrite 自定义查询参数,而不将其附加到URL
我在Mod rewrite 自定义查询参数,而不将其附加到URL,mod-rewrite,url-rewriting,yii,url-routing,Mod Rewrite,Url Rewriting,Yii,Url Routing,我在urlManager中有'urlFormat'=>'path'和'showScriptName'=>false 我将代理/读取作为控制器/操作,并将article=>一些名称作为参数 每当我创建链接时,例如: $this->createUrl('proxies/read',array('article'=>$name)) 结果是以下类型的URL: proxies/read?article=socks5_proxy_list 我想转储查询参数并重新格式化URL,如下所示: controlle
urlManager
中有'urlFormat'=>'path'
和'showScriptName'=>false
我将代理/读取作为控制器/操作,并将article=>一些名称作为参数
每当我创建链接时,例如:
$this->createUrl('proxies/read',array('article'=>$name))
结果是以下类型的URL:
proxies/read?article=socks5_proxy_list
我想转储查询参数并重新格式化URL,如下所示:
controller/action/param_name/param_value
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>/article/<article:\w+>'=>'<controller>/<action>/article/<article>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
在这种情况下,这将是:
proxies/read/article/socks5_proxy_list
我当前的“规则”如下所示:
controller/action/param_name/param_value
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>/article/<article:\w+>'=>'<controller>/<action>/article/<article>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
“规则”=>数组(
“/”=>“/视图”,
'//'=>'/',
'//article/'=>'//article/',
'/'=>'/',
),
但它们似乎不起作用。不需要规则
至于createUrl()。将参数的key=>value数组作为第二个参数交给它
试试这些规则
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>/*'=>'<controller>/<action>',
),
“规则”=>数组(
“/”=>“/视图”,
'//'=>'/',
'//*'=>'/',
),
$this->createUrl('proxies/read/article/'.$name);
并将urlManager规则保留为不包含自定义规则// urlManager
'rules'=>array(// order of rules is also important
'<controller:\w+>/<action:\w+>/article/<article:\w+>'=>'<controller>/<action>',
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
'urlFormat'=>'path'
,并将'rules'
数组保留为空或一起省略如果您还没有阅读最终指南中的,请阅读。尝试所有3种方法,并选择最适合您的方法