【发布时间】:2013-04-22 14:04:35
【问题描述】:
我修改了 CakePHP 的 paginator helper 以打印出没有页面的首页链接,例如:
myexample.com/controller/action/id/page:1 它将是 myexample.com/controller/action/id/ 和其他任何页面 page:1 将是 像往常一样。
此时一切正常。但是,我注意到 myexample.com/controller/action/id/page:1 仍然可以按原样访问。我希望它应该在没有 page:1 的情况下访问。以下是我在config/routes.php中使用的路由规则
Router::connect('/action/:id/:page', array('controller' => 'controller', 'action' => 'action'), array('id' =>'[0-9]+', 'page' => 1, 'pass' => array('id')));
我需要知道如何消除 page:1 以使其可访问或自动重定向到 action/id,因为这种情况会导致 SEO 问题。
注意:我使用的是 CakePHP 1.2.10
也欢迎任何包含 .htaccess 的解决方案。
【问题讨论】:
-
如果你使用canonical并且只是在这里使用主url作为url,这不是SEO问题。然后谷歌将只索引规范网址
controller/action/id/ -
@mark 在我的应用程序中,我从不将 URL 与 page:1 一起使用。换句话说,我的应用程序上设置的每个分页链接都没有 page:1。在 Google 站长工具中,我发现一些关于页面标题重复的报告,例如 action/125/page:1 和 action/125/。真的,我不知道 Google 是如何得到 page:1 的!
-
如果您转到第二页等,它可能会将 page:1 显示为链接。添加另一个规则来防止这种情况发生。
标签: apache .htaccess cakephp mod-rewrite cakephp-1.2