2012-12-22 55 views
0

当我使用seoMOZ运行页面抓取时,某些页面显示为重复的内容。.htaccess - 修复重复内容问题

例如:

/index.php 

/index.php/ 

被抓取为两个单独的页面。我如何实现一个mod-rewrite以仅从.php文件中删除尾部斜杠?

而且

mysite.com/dir/ 

mysite.com/dir/index.php 

被认定为重复内容。为了美观的原因,我宁愿将所有“/dir/file.php”链接重定向到“/ dir /”,但我不知道如何做到这一点,或者如果从SEO的角度来看它是最好的做法。

感谢您的帮助和建议。

+0

只需在html中使用正确的url。搜索引擎不会尝试猜测网址。他们只使用您提供的网址。唯一的问题可能是其他人链接到您的网站,但其他人首先必须首先猜测替代网址。第三,搜索引擎足够聪明,知道某些类型的网址会返回相同的内容。例如'/ folder','/ folder/index','/ folder/index.php','/ folder/index.php/whatever','/ folder /?whatever','/folder/index.php?whatever' 。这些重复的内容并不像大多数人想象的那么重要。我个人并不担心它。 – Gerben

回答

0

尝试这样:

DirectorySlash Off 

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !=d 
RewriteCond %{REQUEST_URI} \.php 
RewriteRule ^(.*)$ $1 [L,R=301] 

删除结尾的斜线时所请求的文件扩展名是.php

我还没有测试,但它应该工作提供的路径是正确的。

您应该知道,没有结尾斜杠的请求会列出目录内容。勾选此link

0

的夫妇的想法:

添加一个rel =“规范”链接的非规范版本的每个HTML页面的部分。

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

采取这意味着,你可以设置只有一个页面是被编入索引,而不是包含相同的内容页面的“原单”或“权威”页面。例如,这对于通过标签显示帖子的页面非常有用。

还有

你可以做一个重定向。破解你的htaccess,并用查询字符串重定向所有查询。

RewriteCond %{QUERY_STRING} . 
RewriteRule (.*) $1? 

但是,有很多方法可以解决这个问题。