如何在Symfony2中允许根相对路由(例如:/ {slug})而不覆盖其他路由

时间:2013-07-05 17:42:01

标签: symfony url-routing

我有一个管理商店位置的应用程序。我们当前的路线使用/location/{postalCode}路线模式。

该网站的上一版本允许基于使用/{slug}模式的slug的位置快捷方式。

我最后加载我的包的路由(所有其他路由之后)......

# (File: app/config/routing.yml)
# Locations
# =========
# Note: this is intentionally last because locations must match root-relative
# wildcard slugs (eg: /atlanta /alberta /boston) for location and city pages.
foo_locations:
    resource: "@FOOLocationsBundle/Resources/config/routing.yml"
    prefix:   /

...并定义快捷路线 last ...

# (File: src/FOO/LocationsBundle/Resources/config/routing.yml)
# Location Alias/Shortcuts
# ========================
# NOTE: this must be the last route defined so that it does not get clobbered
# by other routes
foo_location_shortcut:
    pattern: /{slug}
    defaults: { _controller: FOOLocationsBundle:Default:shortcut }

我想通过加载 last 这些路线,它将允许其他路线首先匹配 。情况似乎并非如此。大多数(但不是全部)其他路由将调用FOOLocationsBundle:Default:shortcut操作。

This question似乎最接近我能找到的答案,但它似乎是在需求中定义了明确的匹配,这对我来说不起作用,因为这些slu在CMS中管理。

0 个答案:

没有答案