如何排除某些文件名在.htaccess中被冻结的Hotlinked

时间:2013-01-28 13:15:45

标签: .htaccess wildcard hotlinking

我目前在我的照片文件夹的.htaccess中有以下内容。

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?siteabc.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?sitexyz.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://example.com/images/bandwidth.png [NC,R,L]

这会阻止所有不允许的域热链接我们的照片文件,并在其中显示http://example.com/images/bandwidth.png

但是,我想要做的是让网站能够将我们的缩略图热链接。缩略图图像具有这种文件名格式

filenameabc_100_cw100_ch100_thumb.jpg
filenameabc_100_cw100_ch100_thumb.png
filenamexyz123_100_cw100_ch100_thumb.png

例如文件名都以_thumb.ext结尾

所以我想做的是修改上面的.htaccess来全局阻止所有访问,但以拇指结尾的文件名除外,例如* _thumb.jpg或* _thumb.png

我对如何编写这样的规则没有第一个想法。

如果有人有任何想法,我将非常感激。

1 个答案:

答案 0 :(得分:1)

修改问题中的规则集:

你可以试试这个:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?siteabc.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?sitexyz.com [NC]
# Add this other exception
RewriteCond %{REQUEST_URI}  !_thumb\.  [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://example.com/images/bandwidth.png [NC,R,L]