搜索引擎通过不同域名响应不同robots.txt文件的设置(Nginx)
2013-12-16 17:00:57   来源:   浏览: 次

导读:1 修改主配置文件 添加行或取消行注释,防止规则文件被访问: location ~ ht { deny all; } 添加包含规则的文件: include path

1.修改主配置文件

添加行或取消行注释,防止规则文件被访问:

 

location ~ /\.ht {
deny all;
}

添加包含规则的文件:

include /path/to/host/dir/.htaccess
 

2.添加规则文件

新建规则文件/path/to/host/dir/.htaccess,并写入:

set $robotsrewrite 'no';
if ($http_host ~* "^zbsd.cn$") {
set $robotsrewrite 'yes';
}
if ($http_host ~* "^www.zbsd.cn$") {
set $robotsrewrite 'yes';
}
if ($robotsrewrite = "yes") {
rewrite ^/robots.txt$ /robots_forbidden.txt last;
}
 

3.修改robots文件

/path/to/host/dir/下应有两个robots文件,robots.txt和robots_forbidden.txt。

前者为正常访问的robots文件,内容不变。

后者为禁止访问的robots文件,命名为robots_forbidden.txt,并写入如下内容:

User-agent: *

Disallow: /

 

4.重启Nginx

重启Nginx以使规则生效。

 

5.验证设置

http://www.zbsd.com/robots.txt(正常访问的robots.txt)

http://www.zbsd.cn/robots.txt(禁止访问的robots.txt)

 

注意:使用.htaccess文件为了遵循Apache的习惯,Nginx实际上是作为一个配置包含文件载入.htaccess文件的,

因此需要重启Nginx,而不是像Apache那样实时读取的。