2011-11-06 42 views
1

所以我想一般禁用盜鏈,但允許子域「拇指」。我的.htaccess如下:禁用一般的盜鏈,但允許子域

#HOTLINKING 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://domain.com/.* [NC] 
RewriteCond %{HTTP_HOST} !^thumbs.domain.com [NC] 
RewriteCond %{REQUEST_FILENAME} !hotlink.png$ 
RewriteRule .*\.(png)$ http://domain.com/hotlink.png [R=302,L] 

但是,它不起作用!我怎樣才能解決這個問題?

+0

這對我來說工作正常 –

回答

1

您在混合HTTP_REFERER和HTTP_HOST。你應該只使用HTTP_REFERER。所以:

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://domain\.com/ [NC] 
RewriteCond %{HTTP_REFERER} !^http://thumbs\.domain\.com/ [NC] 
RewriteCond %{REQUEST_FILENAME} !hotlink\.png$ 
RewriteRule .*\.(png)$ http://domain.com/hotlink.png [R=302,L] 

,甚至更短的匹配所有子域(在「domain.com」結尾的域名,但是這不太可能)

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !domain\.com/ [NC] 
RewriteCond %{REQUEST_FILENAME} !hotlink\.png$ 
RewriteRule .*\.(png)$ http://domain.com/hotlink.png [R=302,L]