【发布时间】:2015-05-13 15:15:54
【问题描述】:
我有一个 AngularJS 1.0.7 网络应用程序。
在我的 app.js 中:
$routeProvider.when('/:language/alquiler-barcos-:departure', {templateUrl: 'partials/boat-rental.html', controller: 'Controller1Ctrl'});
$routeProvider.when('/:language/boat-rental-:departure', {templateUrl: 'partials/boat-rental.html', controller: 'Controller1Ctrl'});
这将使 URL 正确,例如:http://domain/es/alquiler-barcos-mallorca 或 http://domain/en/boat-rental-majorca。这是对的。
但是,它也会让http://domain/es/boat-rental-mallorca 或http://domain/en/alquiler-barcos-majorca 出错(或者应该是,因为它在 URL 中混合了语言)。
我想避免这种情况,因为我认为从 SEO 的角度来看这并不好。首先,我想澄清在这种情况下,从 SEO 的角度来看,哪个是最佳实践:
将http://domain/en/alquiler-barcos-majorca重定向到http://domain/en/boat-rental-majorca并显示结果
控制 URL 并重定向到 301 错误页面。
控制 URL 并重定向到主页。
在那之后,有没有什么方法可以在 app.js 中以 AngularJS 的方式控制这些组合?或者应该只是解析控制器中的 url 并“手动”控制它。
【问题讨论】: