Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii URL模式问题_Php_Yii_Url Rewriting - Fatal编程技术网

Php Yii URL模式问题

Php Yii URL模式问题,php,yii,url-rewriting,Php,Yii,Url Rewriting,对于使用yii构建的restapi,我有一个如下定义的url模式 'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( array('api/default/list', 'pattern'=>'api/<model:\w+>', 'verb'=>'GET'), arra

对于使用yii构建的restapi,我有一个如下定义的url模式

      'urlManager'=>array(
      'urlFormat'=>'path',
      'rules'=>array(
                      array('api/default/list', 'pattern'=>'api/<model:\w+>', 'verb'=>'GET'),
                      array('api/default/view', 'pattern'=>'api/<model:\w+>/<id:\d+>', 'verb'=>'GET'),
                      array('api/default/update', 'pattern'=>'api/<model:\w+>/<id:\d+>', 'verb'=>'PUT'),
                      array('api/default/delete', 'pattern'=>'api/<model:\w+>/<id:\d+>', 'verb'=>'DELETE'),
                      array('api/default/create', 'pattern'=>'api/<model:\w+>', 'verb'=>'POST'),
      '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
      ),
      ),
'urlManager'=>数组(
“urlFormat'=>“路径”,
'规则'=>数组(
数组('api/default/list','pattern'=>'api/','verb'=>'GET'),
数组('api/default/view','pattern'=>'api/','verb'=>'GET'),
数组('api/default/update','pattern'=>'api/','verb'=>'PUT'),
数组('api/default/delete','pattern'=>'api/','verb'=>'delete'),
数组('api/default/create','pattern'=>'api/','verb'=>'POST'),
'/api/post?偏移量=5,极限值=10

上述方法有效,但以下方法无效

api/post/offset/5/limit/10

我怎样才能让它像第二条路一样工作?需要对Url管理器做哪些更改

谢谢

更新

第二种方法的错误是

无法解析“api/post/offset/5/limit/10”请求。

您可以尝试以下操作:

 'urlManager'=>array(
      'urlFormat'=>'path',
      'rules'=>array(
                      array('api/default/view', 'pattern'=>'api/<model:\w+>/<id:\d+>/*', 'verb'=>'GET'),

                      array('api/default/list', 'pattern'=>'api/<model:\w+>/*', 'verb'=>'GET'),

            .............
      ),
  ),
'urlManager'=>数组(
“urlFormat'=>“路径”,
'规则'=>数组(
数组('api/default/view','pattern'=>'api///*','verb'=>'GET'),
数组('api/default/list','pattern'=>'api/*','verb'=>'GET'),
.............
),
),

我移动了
api/default/view
rule以避免覆盖其他规则。

谢谢,但它不会触发我需要的方式,例如,url 1-| url 2。url 1可以使用任意数量的附加参数,但url 2根本不起作用,因为firs change会覆盖url 2模式。您是否设置了.htaccessfile@crafter没有,我没有。