Image 对多个域使用htaccess动态防止热链接图像

Image 对多个域使用htaccess动态防止热链接图像,image,.htaccess,dns,hotlinking,Image,.htaccess,Dns,Hotlinking,使用htaccess防止热链接是有据可查的。但是,我希望在不为每个域添加规则的情况下防止多个域的热链接 我的想法是将推荐人与主机名匹配,这似乎是一个很好的解决方案 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?%{HTTP_HOST}/.*$ [NC] RewriteRule \.(jpg|jp

使用htaccess防止热链接是有据可查的。但是,我希望在不为每个域添加规则的情况下防止多个域的热链接

我的想法是将推荐人与主机名匹配,这似乎是一个很好的解决方案

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?%{HTTP_HOST}/.*$ [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
</IfModule>

重新启动发动机
重写cond%{HTTP_REFERER}^$
重写cond%{HTTP_REFERER}^http://(www\)?%{http_HOST}/*$[NC]
重写规则\(jpg | jpeg | png | gif)$-[NC,F,L]

这是防止热链接的正确和安全的解决方案吗?

当请求来自
www.
时,这将不起作用,但推荐人不起作用。这是因为您的规则将有效地尝试匹配以下不起作用的内容

RewriteCond http://domain.com/index.php !^http://(www\.)?www\.domain\.com/.*$
正确的方法是使用以下各项:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} ^https?://(www\.)?([^/]+)/.*$ [NC]
RewriteCond %2#%{HTTP_HOST} !^(.+)#(www\.)?\1$ [NC]
RewriteRule \.(bmp|gif|jpe?g|png|swf)$ - [F,L,NC]

这也会处理SSL(
https:
)。看看它是如何工作的。

当请求来自
www.
时,这将不起作用,但推荐人不起作用。这是因为您的规则将有效地尝试匹配以下不起作用的内容

RewriteCond http://domain.com/index.php !^http://(www\.)?www\.domain\.com/.*$
正确的方法是使用以下各项:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} ^https?://(www\.)?([^/]+)/.*$ [NC]
RewriteCond %2#%{HTTP_HOST} !^(.+)#(www\.)?\1$ [NC]
RewriteRule \.(bmp|gif|jpe?g|png|swf)$ - [F,L,NC]
这也会处理SSL(
https:
)。看看它是如何工作的