0

我已经开始使用 cakePHP 并且在使用路由时遇到了一点问题。我正在尝试为产品制作某种目录(没有购物的电子商店:))并且喜欢有像“ http://site.net/main_category/subcategory/subsubcategory-c154.htm ”这样的网址,其中-c表示category 和 154 是指定类别的 Id。我喜欢将这种类型的 URL 传递给一个控制器,比如 CategoriesController 但路由:

Router::connect('/:categoryUrl',
                array(
                    'controller' => 'categories',
                    'action'=> 'display'
                ),
                array(
                    ':categoryUrl' => '(.*)-c([0-9]+).htm'
                )
            );

不工作。它一直在搜索“main_category”控制器,因为 main_category 在第一个斜杠之后。

你们(当然也是女士们;))有什么想法吗?

非常感谢克拉克林

4

1 回答 1

0

您可能需要转义连字符。它被列为preg_quote()转义的字符之一。你肯定需要逃避这个点。

'(.*)\-c([0-9]+)\.htm'
于 2010-08-02T09:12:01.027 回答