【发布时间】:2014-01-01 22:41:19
【问题描述】:
我正在尝试进行一些自定义路由,以便我的管理面板页面都可以在管理 URL 段下共存。到目前为止,这不起作用。
我已经定义了以下规则:
core.php:
Configure::write('Routing.prefixes', array('landing'));
routes.php:
Router::connect('/admin/landing/:action/', array('controller' => 'admin', 'landing' => true, 'prefix' => 'landing'));
Router::connect('/admin/landing/:action/*', array('controller' => 'admin', 'landing' => true, 'prefix' => 'landing'));
我也尝试过手动指定一个动作,甚至是一个完全静态的路由:
Router::connect('/admin/landing/edit/*', array('controller' => 'admin', 'action' => 'landing_edit'));
这也行不通。
值得一提的是,这个 Cake 站点是半封装在遗留应用程序中的;因此,URL 层次结构变为hostname/pages/controller 而不是hostname/controller。我也尝试在路由模式中包含/pages,但这没有效果。
编辑:好吧,这似乎是我的愚蠢 - 较早的路线意外地抢占了我的新规则。感谢 Robert Rozas 通过 cmets 为我指明了正确的方向。
【问题讨论】:
-
如果你在浏览器中写下类似的内容:yousite/admin/landing/edit/3 ...你有 404 响应什么的?
-
实际上,它加载了
landing()方法......也许这就是问题所在。打算快速重新排序我的路线。 -
我的 debug-fu 又成功了 xD
-
你是个忍者。如果你能把它变成一个答案(随时把我当成白痴来骂我)我会接受的。
-
认为它已经完成...随时询问,我很乐意提供帮助。敬礼 ;)
标签: php cakephp cakephp-2.0 url-routing