【发布时间】:2012-11-13 01:35:04
【问题描述】:
Google 在网站的侧边栏中发现了一个寻呼机,允许用户在访问博客条目时滚动浏览“标签”,每次寻呼机点击都会将您带到一个新的网址,例如example.com/blog/article-title?page=1.
由于博客有大约 500 个帖子,而分页器有大约 140 页标签,Google 为我的网站编入了非常多的页面。我不想要这个有很多原因。我已经删除了此标记块上的寻呼机,因为它完全没有必要,但现在想对所有这些 ?page=X URL 进行 301 重定向,希望随着时间的推移,Google 会将它们从索引中删除。
网址如下所示:
- http://example.com/blog/blog-article-title?page=0
- http://example.com/blog/blog-article-title?page=1
- http://example.com/blog/blog-article-title?page=2
如何通过 htaccess 进行 301 重定向,将用户发送到 http://example.com/blog/blog-article-title ?
我尝试了很多变化
RewriteRule ^blog/(.*).?page(.*)$ /$1/blog/$2? [R=301,L]
和
RedirectMatch 301 ^/blog/(.*)\?page(.*)$ /blog/$1
但到目前为止还没有运气。任何帮助将不胜感激。
编辑:对于可能偶然发现这一点的其他人,Google 完全忽略了标头中定义的规范 URL,并将所有 30,000 多个 URL 组合编入索引。在下面接受的答案中进行 htaccess 重写是在这些页面上正确执行 301。当然,这需要我将寻呼机移到别处,但这已经在我的特定情况下得到处理。
【问题讨论】:
标签: .htaccess mod-rewrite redirect