如何在Kohana 3.x中使用破折号的URL

时间:2011-09-05 04:26:29

标签: controller kohana action kohana-3

我需要有http://example.com/controller/my-page-with-dashes

等网址

如何在Kohana中使用URL等?我尝试创建一个控制器,并在Zend Framework中命名行为myPageWithDashes,但这不起作用。知道应该怎么做吗?

3 个答案:

答案 0 :(得分:1)

不,您只需在路线中指定正则表达式参数即可。

阅读路线上的文档,它解释了这一点:http://kohanaframework.org/3.2/guide/kohana/routing#regex

答案 1 :(得分:1)

正如zombor所说改变路线的正则表达式:

路线:

Route::set('default', 'controller/<url>)', array('url' => '[-a-z0-9]+'))
    ->defaults(array(
        'controller' => 'page',
        'action' => 'index',
  ));

控制器:

Class Controller_Page {

    public function action_index()
    {
        $url = $this->request->param('url');
    }
}

array('url' => '[-a-z0-9]+')此部分更改了网址参数中允许的内容。

答案 2 :(得分:-1)

将文件system/classes/kohana/request/client/internal.php复制到您的应用程序文件夹 - application/classes/kohana/request/client/internal.php。然后从:

更改第106行
$action = $request->action();

为:

$action = str_replace('-', '_', $request->action());