我一直在尝试阻止我的域名上的图像热链接,但没有成功。我已将以下内容添加到/etc/apache2/httpd.conf
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !www.example.com [NC]
RewriteRule \.(jpg|jpeg|png|gif) - [F,NC,L]
这是我尝试过的最基本的示例(这个示例直接来自 Apache 网站http://httpd.apache.org/docs/current/rewrite/access.html)
我还尝试过在 URL 前面添加插入符号、在 URL 点前添加斜线以将其转义、使 www 部分成为可选部分、https?
在 URL 前面添加,以及不使用空白的 referrer 行。但都没有成功。
我应该将规则放在其他地方(例如 VirtualHosts 文件)吗?
答案1
虚拟主机不会自动继承在主服务器上下文中定义的重写规则。如果要继承规则,则需要将其添加到要使用服务器上下文中定义的规则的每个虚拟主机上下文中:
RewriteOptions Inherit