2010-03-03 85 views

回答

2

Apache的mod_rewrite可以做到這一點。它可以測試'HTTP_REFERER'變量並創建一個重定向。

http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

說明示例:

假設我們有下 http://www.quux-corp.de/~quux/一些 網頁內嵌圖片。這些 圖形很好,所以其他人直接 通過超鏈接到 他們的網頁。我們不喜歡 的做法,因爲它會將無用的 流量添加到我們的服務器。解決方案:

雖然我們不能100%保護 圖像從包含,我們可以至少 限制,其中瀏覽器 發送一個HTTP引用頭中的情況下。

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.*$ [NC] 
RewriteRule .*\.gif$  -         [F] 

RewriteCond %{HTTP_REFERER}   !^$ 
RewriteCond %{HTTP_REFERER}   !.*/foo-with-gif\.html$ 
RewriteRule ^inlined-in-foo\.gif$ -      [F] 

其他變種http://articles.sitepoint.com/print/apache-mod_rewrite-examples

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com/.*$ [NC] 
RewriteRule \.(gif|jpg|png)$ http://www.example.com/hotlinked.gif [R=301,L] 

第一線檢查,如果引用者是空的。第二 - 如果它不是你的域名。 三會重定向 「壞查詢」 到 「hotlinked.gif」

+0

爲http://uberstaller.com偉大的工作:! RewriteEngine敘述在 的RewriteCond%{HTTP_REFERER}^$ 的RewriteCond%{HTTP_REFERER}^HTTP ://(www \。)?uberstaller \ .com /.*$ [NC] RewriteRule \。(exe | zip)$ http://uberstaller.com/download_uberstaller.html [R = 301,L] 我還應該提及上傳這些說明爲「.htaccess」。 謝謝! – SharpAffair 2010-03-03 10:32:18