我想让我的所有网页/网址都很友好,包括动态网页,但我仍坚持使用它。
我让它适用于静态页面,例如:
$routes->connect('/:lang/about',['controller' => 'Pages', 'action' => 'about'] );
但是当我将以下内容添加到路线
时$routes->connect('/:lang/:slug',['controller' => 'MyController', 'action' => 'index'], ['pass' => ['slug']] );
所有页面都重定向到MyController,甚至是静态页面,所以我想知道是否有任何解决方案。
感谢。
答案 0 :(得分:1)
“全能”路线(如您问题中的路线)需要在之后其他路线。这样就可以先检查静态路由,只有当没有其他路由匹配时才使用“全部捕获”
例如:
$routes->connect('/:lang/about',['controller' => 'Pages', 'action' => 'about'] );
$routes->connect('/:lang/:slug',['controller' => 'MyController', 'action' => 'index'], ['pass' => ['slug']] );
而不是(注意排序):
$routes->connect('/:lang/:slug',['controller' => 'MyController', 'action' => 'index'], ['pass' => ['slug']] );
$routes->connect('/:lang/about',['controller' => 'Pages', 'action' => 'about'] );