【问题标题】:PHP Symfony duplicate routesPHP Symfony 重复路由
【发布时间】:2017-03-19 19:19:11
【问题描述】:

如何创建重复的路线?

我想要 SEO 和用户友好的路由,例如:

  • /{product.slug}
  • /{category.slug}

但是 Symfony 是如何知道要渲染哪一个的呢?它现在默认为最后一个定义。

【问题讨论】:

  • /p/{product.slug}/c/{category.slug} 足够用户友好,不是吗?
  • @Federkun 我更喜欢避免不必要的嵌套路径,因为这对 SEO 更好。
  • 我很确定 google 不介意,但如果你真的需要这样做,你可以创建一个类似 /{product_or_category} 的路由,然后 forward the request 到 ProductController 或(如果产品不是找到)CategoryController
  • /{product_or_category} 也不是一个好的结构:如果您有一个与产品名称相同的类别怎么办?你会渲染什么?
  • 看看这里:stackoverflow.com/a/10438844。我猜edit 部分是你需要的。

标签: php symfony routing


【解决方案1】:

您可以使用两个变量创建路线:

/{type}/{slug}

type 将是 productcategory

或者,如果你只想要一个变量,你可以根据URL传递的值来调整你的函数。

【讨论】:

    猜你喜欢
    • 2015-09-09
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2023-03-29
    相关资源
    最近更新 更多