1

搜索引擎使用参数抓取网站

/?p=([0-9]+)
/?cat=([0-9]+)
/?do=([a-z]+)

ETC

如何在 .htaccess 中通知搜索引擎此类页面不再存在?

我只有 /?page=([0-9]+)

谢谢。

我试过

RewriteCond %{QUERY_STRING} ^(p|cat|do)(.*)$
RewriteRule ^$ http://test.com/simple [R=301,L]

http://test.com/?p=23 give me http://test.com/test?p=23 (not http://test.com/test)
http://test.com/?cat=11 give me http://test.com/test?cat=11 (not http://test.com/test)
4

2 回答 2

1

我建议您遵循 301(永久重定向)规则:

RewriteCond %{QUERY_STRING} !^page=.*$ [NC]
RewriteRule ^$ http://test.com/test? [R=301,L]

这会将每个/?p=([0-9]+)or /?do=([0-9]+)or /?foo=([0-9]+)or /?bar=([0-9]+)etc(除 之外的任何查询字符串/?page=)重定向到原始查询字符串http://test.com/testR=301删除原始查询字符串(注意?在目标 URL 的末尾)。

于 2012-10-10T10:44:05.957 回答
0

您可以将这些页面添加到您的robots.txt文件中以防止索引。

但是,搜索引擎会在某个地方找到这些链接。你应该确保你没有在你的网站上使用它们。

如果页面不再存在,您可能会考虑相应地重定向(301)它们。

后者或其中的某种组合应该可以解决您的问题。

于 2012-10-09T17:56:25.420 回答