.htaccess允许使用参数(?something)对图像进行热链接

时间:2018-08-21 11:00:45

标签: .htaccess mod-rewrite url-rewriting hotlinking

我的.htaccess文件中包含代码,以防止热链接网站上的图像。 我需要使它允许图像的热链接,因为它们在URL的末尾具有一些参数,例如:

此图片应被屏蔽:

https://my-site.com/my-images/some-image-file-name.jpg

但是,如果同一图像的末尾带有参数,则允许热链接,例如:

https://my-site.com/my-images/some-image-file-name.jpg?allow_hot_linking

为什么需要类似的东西? 例如,如果图像是在html电子邮件中发送的,则不会显示该图像,但是如果我可以制定一些.htaccess规则,该规则允许使用参数对图像进行热链接,我只会将该参数放在img源标签的末尾制作html电子邮件时显示图片,并且在打开电子邮件时会显示。

这是我的.htaccess代码

RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?my-site.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?nnn.nnn.nn.nnn [NC]
##Allow search engines
RewriteCond %{HTTP_USER_AGENT} !Googlebot-Image [NC]
.
.
.
##Allow blank referrers
RewriteCond %{HTTP_REFERER} !^$
## Redirect to hotlink image
RewriteRule ^my-images/(.*).(jpeg|jpg|bmp)$ https://my-site.com/no-hotlinking.html [NC,R,L]
## End - prevent image hotlinking

1 个答案:

答案 0 :(得分:0)

喜欢这个解决方案,正是我想要的允许电子邮件链接而不是空白引荐来源的链接。

RewriteCond %{QUERY_STRING} !^ahl$ [NC]

实现梦想。