我用的是 Kohana 3.3,请帮帮我,一个实现 Clean URL 的路由示例。
site.ru/param1/param2/param3/.../paramN/id
我们有未知数量的参数,但后者总是值得 'id' ,即有不同的变体:
site.ru/param1/param2/param3/.../paramN/id
site.ru/param1/id
site.ru/id
我用的是 Kohana 3.3,请帮帮我,一个实现 Clean URL 的路由示例。
site.ru/param1/param2/param3/.../paramN/id
我们有未知数量的参数,但后者总是值得 'id' ,即有不同的变体:
site.ru/param1/param2/param3/.../paramN/id
site.ru/param1/id
site.ru/id
很好,小蚱蜢,在这里你有东西可以玩:
以下路线将采取任何数量的parameters
(0..n)。<id>
代表一个数字:
Route::set('testparams', 'account(/<params>)/<id>',
array(
'params' => '.+',
'id' => '\d+'))
->defaults(array(
'controller' => 'account',
'action' => 'test',
));
控制器account
和方法test
是这样的:
class Controller_Account extends Controller {
public function action_test()
{
$params = $this->request->param();
echo Debug::vars($params);
$id = $this->request->param('id');
echo Debug::vars($id);
exit;
}
}
测试1:
http://localhost//account/p1/p2/p3/p4/p5/500
// result:
array(2) (
"params" => string(14) "p1/p2/p3/p4/p5"
"id" => string(3) "500"
)
string(3) "500"
测试2:
http://localhost/account/500
// result:
array(2) (
"params" => string(0) ""
"id" => string(3) "500"
)
string(3) "500"