为 cakephp3 设置路由 html url
setup route for cakephp3 html url
我 URL
喜欢 article_title_page-c-31-c-2.html
我想映射到文章控制器和动作类别的地方
article_title_page
可以是任何值,数字 31
和 2
将作为参数传递给操作类别,而
-c-
和 -c-
是固定的,用来表示应该发送到文章控制器和动作类别,我如何在 cakephp3.5
中做这样的路由?
我在路由文件中尝试了以下内容,但问题是,它无法区分 -c-
或 article_title_page-d-31-d-2.html
也会转到相同的控制器和操作,我想将其过滤掉
Router::connect('/:slugc-:id:c-:page.html',
['controller'=>'products', 'action'=>'category'],
['pass' => array('id','page','slug'), 'id'=>'[\d]+','page'=>'[\d]+'
]
);
感谢您的任何建议。
我还没有在本地测试过这个,但是试试这个:
/:slug:c1:id:c2:page.html
并通过正则表达式将 c1 和 c2 匹配为 c-
。
我 URL
喜欢 article_title_page-c-31-c-2.html
我想映射到文章控制器和动作类别的地方
article_title_page
可以是任何值,数字 31
和 2
将作为参数传递给操作类别,而
-c-
和 -c-
是固定的,用来表示应该发送到文章控制器和动作类别,我如何在 cakephp3.5
中做这样的路由?
我在路由文件中尝试了以下内容,但问题是,它无法区分 -c-
或 article_title_page-d-31-d-2.html
也会转到相同的控制器和操作,我想将其过滤掉
Router::connect('/:slugc-:id:c-:page.html',
['controller'=>'products', 'action'=>'category'],
['pass' => array('id','page','slug'), 'id'=>'[\d]+','page'=>'[\d]+'
]
);
感谢您的任何建议。
我还没有在本地测试过这个,但是试试这个:
/:slug:c1:id:c2:page.html
并通过正则表达式将 c1 和 c2 匹配为 c-
。