gpt4 book ai didi

php - 使用 "sub-routes"进行永久重定向

转载 作者:行者123 更新时间:2023-12-04 04:59:09 25 4
gpt4 key购买 nike

我需要更改 Sf2 项目中路由系统的基础。

我用了 FrameworkBundle:Redirect:urlRedirect永久重定向几条路线,如下所示:

# File : app/config/routing.yml
# ..
redirect_route_example:
pattern: /foo
defaults:
_controller: FrameworkBundle:Redirect:urlRedirect
path: /
permanent: true
# ..

如果我的“主路由”有很多子路由 /foo(如 /foo/page1/foo/page2/foo/page1/subpage1 等)

可以用我的 FrameworkBundle:Redirect:urlRedirect 做同样的事情吗?但是使用正则表达式路由(例如 /foo/* -> /* )?

最佳答案

我的想法是在 /foo 之后添加一个参数, 喜欢 /foo{subroutes}并允许在此参数中使用斜杠。所以我们基本上需要这个:

http://symfony.com/doc/master/cookbook/routing/slash_in_parameter.html

解决方案可能如下所示:

# File : app/config/routing.yml
# ..
redirect_route_example:
path: /foo{subroutes}
requirements:
subroutes: ".*"
defaults:
_controller: FrameworkBundle:Redirect:urlRedirect
path: /
permanent: true
# ..

编辑:

请注意,此解决方案会将所有内容重定向到 //foo 开头这可能不是您想要的行为。如果你想保留子路由本身并且只去掉 /foo一开始,使用 key route而不是 path和 Controller FrameworkBundle:Redirect:redirect而不是 urlRedirectdefaultsredirect_routing_sample并使用带有参数 {subroutes} 的路由.

关于php - 使用 "sub-routes"进行永久重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16356130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com