谷歌在一个网站的侧边栏中发现了一个寻呼机,它允许用户在博客条目上滚动浏览“标签”,每次寻呼机点击都会将您带到一个新的网址,例如example.com/blog/article-title?page=1
。
由于博客有大约 500 篇文章,而分页器有大约 140 页标签,谷歌已经为我的网站索引了非常多的页面。我不想要这个有很多原因。我已经删除了此标记块上的寻呼机,因为它完全没有必要,但现在想对所有这些?page=X
URL 进行 301 重定向,希望随着时间的推移,Google 会将它们从索引中删除。
URL 如下所示:
- 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。当然,这需要我将寻呼机移到别处,但在我的特殊情况下已经处理过了。