配置Nginx让网站页面不是给人看的,人看到的只有广告
这个是我的三个域名同在一个空间下的配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
upstream nq { server 216.2x4.2x6.1x8:80; } server { listen 80; server_name *.(sohu|sina|baidu).com; #access_log /home/wwwlogs/nf.log ads; access_log off; #set $cache_key $scheme://$host$request_uri$is_args$args; proxy_set_header Host $host; proxy_set_header Referer $http_referer; proxy_set_header Cookie $http_cookie; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { //允许爬虫访问后端, if ( $http_user_agent ~* \b(:?googlebot|webcrawler|Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)\b ) { proxy_pass http://nq; } //当然也可以写成这样 if ($http_user_agent ~ (Mozilla|Sosospider|Sosos*|Sogou*|Googlebot|Googlebot-Imag|Google*|Baiduspider|Baidu*|msnbot|yodaobot|sohu*|Wget|WordPress|youdao|Yahoo|iaskspider) ) { proxy_pass http://nq; } //下面这段是,判断是否为浏览器,直接301到广告页面,当然还是有遗漏的,目前还有很多的我没用过的浏览器 if ($http_user_agent ~ (MSIE*|Netscape|Konqueror|Firefox|Chrome|Safari|Opera|maxthon) ) { rewrite ^/(.*)$ http://caopan.me/nofile.html?$1 permanent; } //下面这段是如果上面两个if都不符合,直接让它访问后端。 proxy_pass http://nq; } } |
通过这个配置我主要是应用在内容可以让爬虫正常收录,大部分人访问直接到广告页面。
你还可以通过浏览器的语言来判断,按个人需要来处理吧,上面的配置我在检查/home/wwwlogs/nf.log的时候,可以看到爬虫得到是200,我使用了chrome,maxthon,sougo,ie9,firefox,访问当然都是301,当然有很多方法或者写法,我也希望you能给我提供个简单的写法。
最后是我顾虑的问题,万一爬虫它也把自己拌成人,怎么办呢?直接清空收录的数据就玩完了。
所以上面的配置风险高不高,我没有用时间去证明,挂了两天我有了更好的方法,所以把这个共享出来,如果你使用了,请给我个信号,让我知道这个配置的最终结果,是否影响收录和给爬虫处理。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。