拓宽动力网站优化服务热线 Hi,欢迎访问深圳网站优化seo公司-智汇蓝媒,我们提供专业的百度SEO网站优化服务!
专注一站式网络营销服务

您现在所在的位置:主页 > 新闻动态 > 搜索引擎优化专题 >

经常有人会误会robots.txt与.htaccess档桉的用法

来源: 未知 作者: tkbin 时间:2012-08-11

本文标签::robots(2)htaccess(1)

经常有人会误会robots.txt与.htaccess档桉的用法,所以我们特别整理资料来说明 ...


robots.txt与.htaccess档桉最简单并且应该知道的事项如下:

(1)robots.txt放置在www根目录下,.htaccess档桉最好是放置在非www根目录下(依照Apache安装设定)。

例如某个空间 /home/yourhosting/ 是你的根目录

可以设定 /home/yourhosting/www/ 当成是你的www根目录

(2)robots.txt的目的是告诉搜寻引擎的爬虫程式,哪些可以抓取,哪些不要抓取。

(3)robots.txt的作用只是告知性质,如果搜寻引擎的爬虫程式不理会,也没有办法。

(4).htaccess档桉是搭配Apache web伺服器软体运作,其他类型的伺服器软体未必也使用相同方式。例如如果是Windows IIS 7的话,则是使用web.config来保存应用程式整合设定 (参考)。

(5).htaccess档桉的目的是处理进到网站的所有连线的权限与方式。

(6).htaccess档桉的作用不是告知性质,连线进来就会依照.htaccess档桉内的语法处理。

(7)robots.txt与.htaccess档桉各有其不同的语法。

例如你可以看看Yahoo的robots.txt样子~ http://www.yahoo.com/robots.txt

所以有没有注意到? 任何人都可以看到网站的robots.txt档桉,所以你如果有内部使用的目录,而没有密码保护的话,千万不要把他列在robots.txt内,因为等于告诉大家这裡有机密档桉。就算有密码保护,其实也是一种安全疑虑,最好不要把内部文件放置在对外公开的伺服器上。

那么robots.txt应该如何设定呢? 你也可以参考 wikipedia关于robots.txt的解释

(1)如果你没有特别需要限制,大都robots.txt内容如下

User-agent: *
Disallow:

如果你不允许任何爬虫程式连线,内容如下

User-agent: *
Disallow: /

如果你不允许任何爬虫程式抓取特定目录,内容如下

User-agent: *
Disallow: /cgi-bin/
Disallow: /images/
Disallow: /tmp/
Disallow: /private/

当然前面有说到,只是告知性质,爬虫程式如果不遵守,你也没皮条就是了。

(2)上面说到的User-agent,就是指定哪些特定的爬虫程式,星号(*)就是表示所有的爬虫程式。

例如: Google的User-agent是 googlebot,Bing的User-agent是 bingbot

(微软的msnbot已经于2010/10/1后不再使用)

而百度的User-agent则是baiduspider,但是百度还是其他的user-agent,请参考 http://www.baidu.com/search/spider.htm

(3)那么robots.txt还有其他的写法吗? 你可以利用具来产生robots.txt。

http://www.searchenginepromotionhelp.com/m/robots-text-creator/simple-robots-creator.php

利用这个工具产生之后,再上传到网站www的根目录,再使用Google Webmasters去测试是否正确即可。

robots.txt的观念非常简单的,不是吗? 线上还有许多robots.txt generator,你可以自己找看看。

但是关于.htaccess,就不是这么简单几句话就能够解释清楚的了。

我们先简单介绍最基本的概念,后续再详细专文介绍。

(1).htaccess档桉是Apache启动后必须读取的档桉,其位置看Apache设定。

(2)有时候有些设定也可以放在httpd.conf档桉下,但是httpd.conf只有在Apache启动时读取,而.htaccess是在每次连线都会去读取。

(3).htaccess档桉内的某些宣告,必须配合先载入某些特定模组。例如你要进行URL的301转址,就必须安装mod_rewrite模组,才能在.htaccess内进行相关转址宣告。

以下是.htaccess的几个例子~

当你要阻挡某个ip连线进来,就可以宣告如下

deny from 46.28.160.1/32

以上的46.28.160.1/32,就是指ip 46.28.160.1不能连线进来,32是指其subnet mask (子网遮罩)是 255.255.255.255 (这个不懂没关係)。

当你要进行转址,就可以宣告如下

RewriteEngine on
RewriteCond %{HTTP_HOST}  ^30203.com [nocase]
RewriteRule ^(.*) http://www.30203.com/$1 [last,redirect=301]


RewriteEngine on只需宣告一次,后面的各个转址就不需要再写一次。

哇,开始複杂了,上面的转址就是说: 任何没有www的URL,都要转成有www开头的URL,例如 http://30203.com 会转成 http://www.30203.com

(4)怎么办? 这么複製的语法根本搞不懂,没关係,你可以使用htaccess editor,这个线上编辑可以简便的操作一些常用的语法出来。

必须注意的是,许多.htaccess的语法的变化很多,很可能达成一个相同的任务,可以有许多不同的写法。

如果对上述内容发现有不妥之处,欢迎大家提出讨论囉。

 


拓宽动力是深圳一家互联网基础服务商,提供深圳网站建设-深圳网站制作- 深圳SEO-深圳网站优化- 深圳网络推广-深圳网站推广,集网站建设、网站优化、网站推广、网站运营于一体!力助企业实现网络梦想,帮助企业打造网络赚钱机器。咨询热线:0755-88842685.

关于我们-联系我们-诚征英才-法律声明-付款方式-加盟合作-友情链接-站点地图

Copyright ©2013 COMSEO.NET,Inc,All rights reserved | 粤ICP备18027777号 |
地址:深圳市宝安区兴业路2005号广兴源互联网创意园A409
业务联系:0755-23358690| 传真:0755-23358690| 客户服务:400-168-8366