我正在使用Symfony2重新编写一个旧项目,因此可以尝试该框架。我有以下形式的网址:
/profile/{id}
以Symfony2的时髦方式做到这一点。但是,最初通过执行以下操作找到了同一页面:
/profile.php?id=12345
因此,如果有人使用旧的URL,我想重定向这些链接。问题是,我不知道该如何捕捉这种性质的路线。我试过了
/profile.php?id={id}
但这似乎没有用。如何设置此路线?
后续操作:我不想做“包罗万象”(因为这对我来说是不直观的,所以我担心将来的错误),出于相同的原因,我不希望通过htaccess进行操作。我认为最好的选择是匹配“/profile.php”,然后在 Controller 中,检查“id”是否存在于查询字符串中并进行相应的重定向。如果没有,我将重定向到404。
最佳答案
我在这里看到两个选择:
whatever:
pattern: /{whatever}
defaults: { _controller: CoreBundle:Default:whatever }
requirements:
whatever: .+
对于(2),您将必须检查请求对象为查询提供了什么内容(例如getQueryString()),b/c我不确定是否可以在路由中匹配?xyz之类的东西。