如何在urlManager';Yii的规则是什么?

如何在urlManager';Yii的规则是什么?,url,yii,get,params,yii-url-manager,Url,Yii,Get,Params,Yii Url Manager,我以GET参数q的形式将查询字符串传递给SearchController::actionDefault: /search/?q=… 但是,我需要定义一个规则,该规则将自动使用某个值初始化此参数或定义另一个参数 如果我请求mysite.com/showall我需要获得与/search/?q=* 这就是我尝试过的: '/showall'=>'/search/default/index/?r=*',我解决了这个问题 可以在urlManager中设置defaultParams,最后在应用程序配置文件中如

我以
GET
参数
q
的形式将查询字符串传递给
SearchController::actionDefault

/search/?q=…

但是,我需要定义一个规则,该规则将自动使用某个值初始化此参数或定义另一个参数

如果我请求
mysite.com/showall
我需要获得与
/search/?q=*

这就是我尝试过的:

'/showall'=>'/search/default/index/?r=*',

我解决了这个问题

可以在urlManager中设置defaultParams,最后在应用程序配置文件中如下所示:

... 'components' => array( ... 'urlManager' => array( ... 'rules' => array( .... '/show_all' => array( '/search/default/index', 'defaultParams' => array('show_all'=>'-') ), .... ), ... ), ... ), ... “组件”=>数组( ... “urlManager”=>数组( ... '规则'=>数组( .... '/show_all'=>array('/search/default/index',defaultParams'=>array('show_all'=>'-')), .... ), ... ), ... ), 我解决了这个问题

可以在urlManager中设置defaultParams,最后在应用程序配置文件中如下所示:

... 'components' => array( ... 'urlManager' => array( ... 'rules' => array( .... '/show_all' => array( '/search/default/index', 'defaultParams' => array('show_all'=>'-') ), .... ), ... ), ... ), ... “组件”=>数组( ... “urlManager”=>数组( ... '规则'=>数组( .... '/show_all'=>array('/search/default/index',defaultParams'=>array('show_all'=>'-')), .... ), ... ), ... ),
当您收到不同的请求并且需要将其映射到相同的
GET
param时,接受的答案也会起作用

例如,我想要所有这些请求:

  • user/pics
  • user/photos
  • 用户/图片
要实际生成:
user/index?content=photos

这可能是一种方法:

'<controller:user>/(<content:photos>|pics|pictures)' => array('<controller>/index', 'defaultParams'=>array('content'=>'photos')),
'/(| pics | pictures)=>数组('/index',defaultParams'=>数组('content'=>'photos')),

当您收到不同的请求并且需要将其映射到相同的
GET
param时,接受的答案也有效

例如,我想要所有这些请求:

  • user/pics
  • user/photos
  • 用户/图片
要实际生成:
user/index?content=photos

这可能是一种方法:

'<controller:user>/(<content:photos>|pics|pictures)' => array('<controller>/index', 'defaultParams'=>array('content'=>'photos')),
'/(| pics | pictures)=>数组('/index',defaultParams'=>数组('content'=>'photos')),

您的意思是,您需要一条规则,其中参数将通过标准
get
语法传递?@PeterM是的,一个页面只有一条静态规则您的意思是,您需要一条规则,其中参数将通过标准
get
语法传递?@PeterM是的,一个页面只需一个静态规则+1这在更多情况下可用,官方文档不会以任何方式介绍它。谢谢:)+1这在更多的情况下是可用的,官方文档没有以任何方式介绍它。谢谢:)