.htaccess另类用法之蜘蛛判断及域名重定向

来源:互联网 发布:淘宝申诉ps小票 编辑:程序博客网 时间:2024/04/29 21:09

.htaccess的用法相信大家都有所了解,不了解的请看 .htaccess简介及作用详解
蜘蛛判断及域名重定向的功能主要通过ReWrite来实现,.htaccess代码如下:
#BEGIN Redirect all the URL to the Specific Domain
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteCond %{HTTP_USER_AGENT} (baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot) [NC]
RewriteRule .* - [F]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
#END

详细解释:

RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
意思是,如果当前域名不是www.example.com;


RewriteCond %{HTTP_USER_AGENT} (baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot) [NC]
意思是,通过判断Useragent来检测当前请求网页的是不是网络蜘蛛,用“|”代表或逻辑来匹配列表中每一个蜘蛛的Useragent的关键字,如果匹配,则当前请求者为网络蜘蛛;


RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
如果两个重写条件同时成立,则301重定向到当前域名的对应网页。


Tips:
[NC]的意思 即不分大小写
[R]的意思 重定向
[F]的意思 禁止访问
[L]的意思 这是最后一条规则,exit
0 0