允许/拒绝与.htaccess的图像盗链
所以我有我的网站.htaccess文件,以防止图像,JS和CSS从所有其他域的盗链。
RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC] RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L]
问题:我将如何select性地允许一个或两个域名热链接?
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]
就像这样说,会工作。
“引用不是什么,引用者不匹配mydomain,引用者不匹配其他域。
如果是这种情况,你试图做相反的事(黑名单从盗链领域的一套)你会做一些像
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]
只需在RewriteRule之前为每个要允许的域添加另一个条件 。
RewriteCond %{HTTP_REFERER} !friendlysite\.com [NC]
(大概你不关心,如果请求是通过HTTP或HTTPS或任何,所以你可以离开它,使其更通用)