2010-11-30 31 views
2

該場景看起來像這樣,說我有一個包含一些圖像的網站。我希望允許用戶將他們嵌入到他們的網站中,但我也想在任何人嘗試直接訪問圖片時重定向。如何在允許嵌入時對htaccess進行直接映像訪問重定向

一種選擇是這

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?imgzzz.com/.*$ [NC] 
RewriteRule i/image_(\d+)\.(jpg|gif) - [F] 

這將拒絕來自其他地方比網站的任何訪問,但不允許嵌入圖像。

的第二個選項是ommit第二RewriteCond只留下

RewriteCond %{HTTP_REFERER} !^$ 
RewriteRule i/image_(\d+)\.(jpg|gif) - [F] 

其中允許嵌入,但用戶仍然可以訪問圖像,如果他從其他地方比正在添加書籤。

有什麼辦法讓嵌入可用,同時做直接訪問圖像的重定向?

回答

2

這裏是一個溶液

RewriteCond %{HTTP_REFERER} !^http://(www\.)?imgzzz.com/.*$ [NC] 
RewriteRule i/image_(\d+)\.(jpg|jpeg|gif) pic/$1 [L] 
1

不。它只是一個URI請求,無論它是頁面的一部分還是被直接訪問,服務器都可以看到完全沒有區別。我想你或許理論上可以用一些瘋狂的hackery來做一些事情,但是我看不出它是值得的麻煩,它也不可靠。然後再次,這只是一個請求,你無法辨別它是如何產生的。它也會破壞某些人瀏覽的方式,即喜歡在新窗口中打開圖像的人。我想我知道你想達到什麼目的(而不是圖像,你想用一些數據和圖像一起提供一個頁面,以使內容和網站更加可見),並且我傾向於認同它是一個有效的想法,但圖像搜索引擎已經做了這些事情。

如果我不得不選擇,我會選擇第二個選項,它允許正常瀏覽,並且不允許外部鏈接到圖像。