2012-04-13 85 views
1

我已经差不多完成我的.htaccess文件,以便我的网址都正常工作。但是我有一个简单的问题:搜索引擎优化友好的网址,以避免重复的内容

我有一个rewirte,看起来像这样:

RewriteRule ^fishing/([^/]*)/?$ region.php?region=$1 [L] 

这工作,因为如果我在钓鱼/笛键入/它加载region.php文件。然而,我不知道也没有想到的是,如果我输入region.php?region = fife,那么这也适用。

我相信这会给我重复的内容,我的SEO评级将受到影响。我如何使如果我输入region.php?region = fife它会自动更改为钓鱼/ fife/????

回答

0

只要您不链接到非重写URL结构(即region.php?region = fife),那么网络爬虫就无法发现该URL,并且您将不会获得重复的内容。

如果一个人输入该URL并得到结果,那么就SEO而言也没关系。

所以只要确保只在你的应用中使用漂亮的URL结构。

+0

好的,但这里是一个'RewriteRule^fishing/$ fishing.html [L]' 其中fishing.html仍然有效。这个抓取工具能够看到吗?那是不对的? – 2012-04-13 19:25:40

+0

从技术上讲,爬虫可以找到那个物理的fishing.html页面。如果它位于没有index.html文件的目录中,并且允许目录浏览,那么爬虫程序将能够获取该目录中所有物理文件的列表并逐一找到它们。但是,如果需要,您可以使用robots.txt文件禁止特定文件或扩展名的每个文件。例如,如果您永远不会在网址结构中使用扩展程序,则可以在您的robots.txt文件中添加“Disallow:/ *。html $'以防止抓取任何.html文件。 .php等 – 2012-04-13 19:33:18

+0

这听起来像只是我需要的解决方案。我认为你只需创建一个名为robot.txt的文件并将其放置在你的网站的根目录下? – 2012-04-13 19:35:31

1

更好的解决方案是canonical URLs。这告诉搜索引擎哪个URL是你想要在搜索结果中显示的URL,并且到达该页面的所有其他URL都是它的重复并且对该页面的排名(包括传入链接)进行计数。

你应该不是只是希望搜索引擎找不到其他页面。如果他们这样做是重复的内容,显然你应该避免。

相关问题