路由器 cakephp 指向相同的操作
Router cakephp pointing to same action
我在 cakephp 下的路由遇到了一些问题
我的控制器中有两个动作
它们如下:
example.com/posts/show/show-by-day
example.com/posts/view/slug-post
我希望他们是:
example.com/article/show-by-day.html
example.com/article/slug-post.html
所以我将文件路由到我写的配置文件下:
Router::connect('/article/:show_by_day', array('controller' => 'posts', 'action' => 'show'), array('pass' => array('show_by_day')));
Router::connect('/article/:slug', array('controller' => 'posts', 'action' => 'view'), array('pass' => array('slug')));
当我点击 url 示例时它工作正常。com/article/show-by-day.html
但是当我点击 url example.com/article/slug-post.html 时,它再次指向动作秀。
那我该如何解决呢?
非常感谢!
试试这个
Router::connect( '/article/show-by-day.html',
array(
'controller' => 'posts',
'action' => 'show'
),
array(
'pass' => array('show_by_day')
)
);
Router::connect( '/article/slug-post.html',
array(
'controller' => 'posts',
'action' => 'view'
),
array(
'pass' => array('slug')
)
);
说明:
Router::connect
的第一个参数是您要匹配的确切 URL - 在原始代码中,包含了 :
- 它参数化了 URL 而不是使用精确匹配. Router::connect
中的第二个和第三个参数是需要与所需参数一起调用的实际控制器/操作。
我在 cakephp 下的路由遇到了一些问题 我的控制器中有两个动作 它们如下:
example.com/posts/show/show-by-day
example.com/posts/view/slug-post
我希望他们是:
example.com/article/show-by-day.html
example.com/article/slug-post.html
所以我将文件路由到我写的配置文件下:
Router::connect('/article/:show_by_day', array('controller' => 'posts', 'action' => 'show'), array('pass' => array('show_by_day')));
Router::connect('/article/:slug', array('controller' => 'posts', 'action' => 'view'), array('pass' => array('slug')));
当我点击 url 示例时它工作正常。com/article/show-by-day.html
但是当我点击 url example.com/article/slug-post.html 时,它再次指向动作秀。
那我该如何解决呢? 非常感谢!
试试这个
Router::connect( '/article/show-by-day.html',
array(
'controller' => 'posts',
'action' => 'show'
),
array(
'pass' => array('show_by_day')
)
);
Router::connect( '/article/slug-post.html',
array(
'controller' => 'posts',
'action' => 'view'
),
array(
'pass' => array('slug')
)
);
说明:
Router::connect
的第一个参数是您要匹配的确切 URL - 在原始代码中,包含了 :
- 它参数化了 URL 而不是使用精确匹配. Router::connect
中的第二个和第三个参数是需要与所需参数一起调用的实际控制器/操作。