写了一段代码,首先判断是不是当前所用域名,然后判断是否是蜘蛛,如果两者同时成立,则转到统一的域名下。这个转向主要通过Rewrite来实现,说实话,ReWrite的功能很强大。
.htaccess代码如下:
#BEGIN Redirect all the URL to the specific domain fot bots
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^blog.creke.net [NC]
RewriteCond %{HTTP_USER_AGENT} (baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot) [NC]
RewriteRule ^(.*)$ http://blog.creke.net/$1 [R=301,L]
</IfModule>
#END
第一个RewriteCond的意思是,如果当前域名不是blog.creke.net,[NC]即不分大小写;第二个RewriteCond的意思是,通过判断Useragent来检测当前请求网页的是不是网络蜘蛛,用“|”代表或逻辑来匹配列表中每一个蜘蛛的Useragent的关键字,如果匹配,则当前请求者为网络蜘蛛。如果两个重写条件同时成立,则301重定向到当前域名的对应网页。
最近博客更新,baidu收录一直不好,google到没有问题,怀疑是之前做的301的问题。
今天看到兄弟这篇文章,不错,我先尝试一下
百度的收录确实有些灵异
不知道能不能写2条,一条判断是蜘蛛,然后301,一条判断不是蜘蛛,给出另外一个代码。
非常好
还是想请教
如果想实现这样的效果,怎么改
如果主机头是www,并且为百度蜘蛛,返回404