【发布时间】:2011-10-22 02:01:23
【问题描述】:
我打算用 CakePHP 重写我的网站,在花了整整一周的时间学习之后,我仍然不确定如何在 CakePHP 中做好自定义路由。
这就是我想要的:
- 在 www.domain.tld/en/dragons.html 中保留当前 url 结构,或使用 www.domain.tld/en/dragons,但不使用 www.domain.tld/en/nodes/dragons.html。并且还能够在类似的路径结构上使用控制器。
整个网站大约有 100 个静态页面。我已经阅读了多语言路由,我想我可以做到。我也可以通过 PagesControler 或自写的 NodesController 制作 /en/* 或 /en/:slug 路由。
我的问题是我希望能够混合和匹配带有和不带有控制器的 url,所以实际上我想要的是它检查 :slug 是否是 slug 列表的一部分,应该仍然有选项将该网址与控制器一起使用。
我已经为 /en/contact 和 /en/:slugid 创建了路由,但似乎所有查询都路由到了我的 NodesController,即使我明确表示 /en/contact 应该路由到 ContactsController。
如何指示 Cakephp 保持我当前的字典结构?我阅读了 Cakephp 书的路由部分,但它非常短,让我有点不确定这种路由的可能性。如有必要,我将只编写一个打印所有 slug 的所有路由的 php 代码,因此我仍然可以编写具有类似路径结构的控制器路由。
【问题讨论】:
-
贴出你目前的路线。
-
您在为您的网站使用数据库吗?
标签: cakephp routing cakephp-1.3