【发布时间】:2019-05-31 13:15:04
【问题描述】:
我需要在 Laravel 中使用 SEO 友好的分层 URL 创建一个网站(电子商店)。
一些例子是:
-
www.example.com/cat1/cat11(指向一个类别产品列表) -
www.example.com/cat1/cat11/cat111(指向一个类别产品列表) -
www.example.com/cat1/cat11/cat111/product-title(指向产品详情页面) -
www.example.com/contact-us(指向一个页面)
我可以解析上述 URL 并找到所需的 slug,但我不确定哪个控制器将负责每条路由。
可能的想法:
1) 为每个 URL 类型添加前缀,以便了解控制器 例如
-
www.example.com/categories/cat1/cat11/cat111> 类别控制器 -
www.example.com/products/cat1/cat11/cat111/product-title> 产品控制器 -
www.example.com/page/contact-us> 页面控制器
2) 预先生成所有站点的 URL 并将其存储在一个表中。该表可以包含两列:URL (cat1/cat11/cat111) 和 model:id (category:8) 全局控制器将解析 URL 并使用表可以加载所需的模型和 id。
还有什么想法吗?
【问题讨论】:
标签: laravel controller url-routing laravel-5.8 url-design