【发布时间】:2018-08-07 06:22:00
【问题描述】:
我正在使用自定义路由方法,因此我可以通过单个控制器操作处理以下链接:
/q-query_term
/category-category_name/city-city_name/q-query_term
/city-city_name/category-category_name/q-query_term
/city-city_name/q-query_term
/category-category_name/q-query_term
/city-city_name
/category-category_name
有可能吗?我不使用SensioExtraBundle,所以路由必须写在yaml中。
例如,在 Zend Framework 2 中,这很容易实现,因为我可以编写一个类,它可以根据需要处理路由。虽然不知道如何在 Symfony 中实现相同的功能,但我们将不胜感激。
我能想到的唯一方法是创建一个自定义路由加载器,计算所有路由排列并返回该集合,但不知道这是否是最好的解决方案。
这个问题很独特,因为我需要使用单个路由名称而不是指定数十个不同的路由定义。
【问题讨论】:
-
感谢您的意见,但我去过那里,答案根本无法解决我的问题。
-
我们能知道为什么你需要一个单一的路线名称或/以及为什么你不能用
/q-Houses?city_name=NewYork来理解上下文吗 -
包罗万象的路线适合您吗?然后您可以在控制器内部进行处理。
-
@goto 因为 SEO,最终我希望有像
/from-chicago/in-flats/find-room或/in-music/find-artist这样的网址。 -
@lxg 我想这必须做,听起来是个好主意
标签: php symfony routing url-routing symfony-3.4