2009-08-07 68 views
12

所以我在我的网站.htaccess文件中防止图像,JS和CSS从所有其他域盗链。允许/拒绝图像盗链.htaccess

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC] 
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L] 

问题:我将如何选择性地允许一个或两个域热链接?

回答

21
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?otherdomain\.com [NC] 
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L] 

会的工作,因为这说。

“Refererr也并非一无是处,而引用者不匹配mydomain和引用者不匹配otherdomain。

如果它是你试图做的相反(黑名单一组被盗链畴)的情况下,你倒是像做

RewriteCond %{HTTP_REFERER} ^http://(www\.)?baddomain1\.com [NC,OR] 
RewriteCond %{HTTP_REFERER} ^http://(www\.)?baddomain2\.com [NC] 
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L] 
+1

哎呀,这很简单。应该已经意识到自己!谢谢! – markratledge 2009-08-07 17:14:03

+0

如何动态定义的主机名? – ymakux 2016-12-23 09:04:22

3

Just add another condition之前的RewriteRule为每个域,你想允许。

RewriteCond %{HTTP_REFERER} !friendlysite\.com [NC] 

(想必你不在乎,如果请求是通过HTTP或HTTPS或什么的,这样你就可以离开了这一点,以使其更通用)

相关问题