查看用户指南的URI 路由部分。
如果您有一组要路由的具体 url,那么通过向其中添加规则,application/config/routes.php
您应该能够实现您想要的。
如果您想要一些通用解决方案(任何 uri 段都可以是一个product/details
页面),那么您可能需要将所有其他 url 显式添加到routes.php
配置文件并设置一个包罗万象的规则以将其他所有内容路由到正确的控制器/方法。记住也要处理 404 url!
示例:
假设这/honda-red-car
是一些特殊的东西,您只希望在内部重定向这个,您编写:
$routes['honda-red-car'] = 'product/details/13/honda-accord-red-car';
如果您想概括以honda-
您所做的字符串开头的所有内容:
$routes['(honda-.*)'] = 'product/details_by_slug/$1'; // imaginary endpoint
这些规则在preg_replace()
调用中使用键作为模式,值作为替换字符串,因此()
用于捕获组,$1
用于放置捕获部分。
小心这些模式,如果它们太笼统,他们可能会捕捉到每个请求,所以:
$routes['(.*)'] = 'product/details_by_slug/$1';
虽然它当然也适用于任何汽车名称,suzuki-swift-car
但它也会捕获普通的根 URL 或product/details/42
请求。
这些规则是从上到下评估的,因此从顶部的特定规则开始,将一般规则留在文件末尾。