php - 谷歌上的重复内容。 htaccess 或 robots.txt?

标签 php .htaccess seo robots.txt canonical-link

<分区>

在我的网站中,我有以下类别的 url 结构:

/category.php?id=6(id=6 为 internet 类别)

我的 SEO 友好 url 是这样的:

/category/6/internet/

问题是它可以通过任何这些形式访问,因此,我在谷歌上得到了重复的内容。

所以,我想知道我该如何解决这个问题。

我是否应该在 robots.txt 上禁止任何带有 的 url?

如果是这样,我该如何正确设置它?

我应该在 .htaccess 上进行“永久移动”重定向吗?

如果是这样,我该如何正确设置它?

我实际的类别 .htaccess 是这样的:

RewriteRule ^category/([^/]*)/([^/]*)/$ category.php?id=$1&name=$2 [L]

最佳答案

您只需要在页面的头部设置规范链接标签

参见 http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html

http://support.google.com/webmasters/bin/answer.py?hl=en&answer=139394

看起来像

<link rel="canonical" href="http://www.example.com/category/6/internet/"/>

在类别 6 页面上

您还可以通过添加

对 .htaccess 中的 category.php 页面进行 301 重定向
RewriteRule ^category.php?id=([^&]*)&name=([^&]*) /category/$1/$2/ [R=301,L]

如果您不想走重写规则的路线,您可以将以下代码放在 config.php 的顶部:

if(preg_match('/^\/config\.php/', $_SERVER['REQUEST_URI'])){
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: /category/{$_GET['id']}/{$_GET['name']}");
    die();
}

这两种方式都取决于你,但如果我是你,我会使用 rewriterule 选项重定向到我的 SEO 友好 URL

关于php - 谷歌上的重复内容。 htaccess 或 robots.txt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12827183/

相关文章:

javascript - 将标志从 PHP 发送到 JavaScript

php - 检查是否设置了两个变量?

linux - 在我的 htaccess 中重定向导致 503 服务器太忙

html - SEO 文章和部分的最佳 HTML5 语义?

.htaccess - 这些 RewriteBase 和 RewriteRule 对我的 SEO 有用吗?

asp.net - 在 ASP .NET 3.5 Web App 中删除 "noise"单词的最佳方法?

php - 通过 DOMDocument PHP 获取 DIV 元素内容

PHP 脚本登录 true 或 false

php - 从 HTTP 重定向到 HTTPS(最好的方法是 .htaccess 或 PHP 重定向代码)

apache - 我的 htaccess RewriteRule 适用于 localhost/mysite 但不适用于 1&1 共享主机上的 mysite.com