Php 在Symfony 2中使用URL复制进行管理
我有一个房地产网站,用Symfony 2编码 每天早上,我们都会自动从房地产软件导入属性,并更新数据库 URL将用属性标题和ID重写,如:Php 在Symfony 2中使用URL复制进行管理,php,symfony,redirect,duplicate-removal,Php,Symfony,Redirect,Duplicate Removal,我有一个房地产网站,用Symfony 2编码 每天早上,我们都会自动从房地产软件导入属性,并更新数据库 URL将用属性标题和ID重写,如: .../%title%-%ID% 有时,房地产代理会更改房产的名称,因此URL也会更改 它在Google中创建了一个重复的内容,因为同一个页面现在有两个URL 我想修复它,自动添加一个从旧URL到新URL的重定向301 在Symfony 2中我如何才能做到这一点 谢谢你的帮助 马修谢谢你的评论。 我正在使用Mat Bios,您帮助我们找到解决方案 我们找
.../%title%-%ID%
有时,房地产代理会更改房产的名称,因此URL也会更改
它在Google中创建了一个重复的内容,因为同一个页面现在有两个URL
我想修复它,自动添加一个从旧URL到新URL的重定向301
在Symfony 2中我如何才能做到这一点
谢谢你的帮助
马修谢谢你的评论。 我正在使用Mat Bios,您帮助我们找到解决方案 我们找到了一种检测旧url的方法,然后在控制器中进行重定向301
return$this->redirect($currentUrl,301)代码>
谢谢考虑添加通用Url。通用Url将是谷歌知道的。任何带有标题的Url都将路由到通用Url
创建一个规则,该规则捕获具有模式//myApp/%title%-%ID%
的所有URL,并导致重定向//myApp/property/%ID%
您可以在routing.yml中完成所有这些操作
GenericRoute: pattern: /myapp/properties/{propertyId}
defaults:
_controller: Bundle:Controller:action
TitleRoute:
pattern: /myapp/{title}/{propertyId}
defaults:
_controller: FrameworkBundle:Redirect:redirect
route: GenericRoute
permanent: true
您在检测URL是否旧或发送301响应时有问题吗?是的,我的问题是检测URL是否已更改。ID是否为常量?你不能用它来检测名字的变化吗?你能添加路由代码,更新数据库标题和方案的代码吗,该地产有一个unic ID。例如:第一个URL是:…/vente-ferme-bressane entierement-renove-aproximite de belleville CH+28416,当代理更改该地产的所有权时:…/vente-ferme-bressane-entierement-renove-4-km-de-chatillon-sur-chalaronne-CH+28416(抱歉是法语,但你可以在URL末尾看到ID)有什么建议吗?感谢你的帮助Brig:)我们需要在URL中保留属性标题,belga的解决方案有效。