CakePHP路由,反向重定向

时间:2012-11-12 12:15:17

标签: cakephp cakephp-2.2

假设我有一个控制器Articles和一个动作Search

我在 routes.php 中设置了路由器配置,如下所示:

Router::connect(
                 '/search/:search_term/*', 
                 array('controller' => 'articles', 'action' => 'search')
);

这样,当我导航到http://localhost/search/cakephp

时,我可以在搜索结果中看到包含“ cakephp ”的文章标题

但如果我导航到http://localhost/articles/search/cakephp我会看到相同的结果。

我想要的是自动重定向到

http://localhost/search/cakephp

当我导航到

http://localhost/articles/search/cakephp

基于 routes.php 中的配置。

1 个答案:

答案 0 :(得分:0)

您必须创建.htaccess重定向,因为您无法通过路线执行此操作:

RewriteRule ^articles/search/(.+)$ /search/$1 [L,NC]

好的我发现了一些但不太确定它会起作用:

Router::redirect(
    '/articles/search/*',
    '/search/',
    array('persist' => true)
);