通过.htaccess防止通过CSS进行热链接

通过.htaccess防止通过CSS进行热链接,css,.htaccess,Css,.htaccess,我已将htaccess设置为阻止热链接: RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mydomain\.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ RewriteRule .*\.(bmp|dtd|flv|jpeg|jpg|gif|png|psd|swf|tif|txt|mov|mpeg|mp3|xml)$ - [F,NC,L] 问题是,它通过HTML(例如)工作得非常好,它不会加载。它只适用于CSS。它不应

我已将htaccess设置为阻止热链接:

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mydomain\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(bmp|dtd|flv|jpeg|jpg|gif|png|psd|swf|tif|txt|mov|mpeg|mp3|xml)$ - [F,NC,L]
问题是,它通过HTML(例如
)工作得非常好,它不会加载。它只适用于CSS。它不应该适用于任何一种情况。

当你说“不阻止通过CSS进行热链接”时,你的意思是1)其他人仍然可以在他们的页面中使用你现有的CSS文件,或者2)其他人可以将您的图像放入他们自己的CSS文件中


如果1)可能是图像获取的referer头是CSS文件本身,它将来自您的服务器,因此第一个RewriteCond规则将失败,并且获取不会被阻止。

很抱歉造成混淆;我将编辑主要文本以澄清问题。因此,您知道,一些浏览器不会发送HTTP\U REFERER,合法用户最终会看到损坏的图像。除非你在热链接方面遇到了严重的问题,否则你可能不应该为此烦恼。