2016-04-30 103 views
0

我曾在一個.htaccess中,它工作正常:htaccess的防止盜鏈圖像特定文件名結構

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.com [NC] 
RewriteRule \.(jpg)$ /noimageforyou [NC,R,L] 

這可以防止所有圖片盜鏈。不過,我實際上可以用熱鏈接某些圖片。我使用WordPress,當你上傳一張圖片,將創建不同的圖像大小,例如:

  • imagefile.jpg(原件)
  • 鏡像文件-150x150.jpg
  • 鏡像文件-300x400.jpg

我很高興地允許較小的圖像尺寸的熱鏈接,而不是原來的。我想知道是否有一種方法來改進htaccess以排除所有現在的情況,但是允許其中包含#x#.jpg的任何文件名。

回答

1

您需要添加一個條件來過濾掉更小的圖像:

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.com [NC] 
RewriteCond %{REQUEST_FILENAME} !-\d+x\d+\.jpg # Check the end of the filename only - we don't need the beginning part for this check 
RewriteRule \.(jpg)$ /noimageforyou [NC,R,L] 
+0

就像一個魅力,謝謝! – sccr410