2011-03-17 78 views
0

我有一個場景,我允許任何人從我的網站熱鏈接圖像,但它會在檢測到Referer時顯示水印。htaccess Referer問題

我已經有水印PHP腳本GD將採取對目錄中的圖片的URL或FULLPATH並在其上疊加一個水印,但我的問題是這樣的..

有沒有一種方法來設置僅當htaccess檢測到Referer不是來自域時才重寫爲頁面?

而且,扔了PHP腳本,一旦重寫進入到一個特定的頁面在根目錄下,我能得到它在哪裏試圖去義無返顧$ _ SERVER [「REQUEST_URI」]更容易獲得知道他們在什麼圖像試圖查看,而不使用GET查詢?

回答

1

這可能是最簡單的一個RewriteCond。您通常首先檢查Referer頭是否存在,然後將其與允許的值進行比較。但你也可以使用斷言壓縮它:

RewriteCond %{HTTP_REFERER} ^(?!your.domain.com)(.+)$ 
RewriteRule ^(img/.+)$ /watermark.php?url=$1 [L] 

如果你不想url GET參數,然後使它成爲一個PATH_INFO,或使用[L,E=ORIG_REQUEST_URI:$1]的環境變量。但我會避免這種解決方法。

+0

謝謝你,我不懂hataccess的htaccess領域。 – Ugleh 2011-03-17 19:00:53