• 使用.htaccess判断蜘蛛及对域名进行重定向

    写了一段代码,首先判断是不是当前所用域名,然后判断是否是蜘蛛,如果两者同时成立,则转到统一的域名下。这个转向主要通过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重定向到当前域名的对应网页。