2009-08-07 80 views
12

所以我在我的網站.htaccess文件中防止圖像,JS和CSS從所有其他域盜鏈。允許/拒絕圖像盜鏈.htaccess

RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC] 
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L] 

問題:我將如何選擇性地允許一個或兩個域熱鏈接?

回答

21
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?otherdomain\.com [NC] 
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L] 

會的工作,因爲這說。

「Refererr也並非一無是處,而引用者不匹配mydomain和引用者不匹配otherdomain。

如果它是你試圖做的相反(黑名單一組被盜鏈疇)的情況下,你倒是像做

RewriteCond %{HTTP_REFERER} ^http://(www\.)?baddomain1\.com [NC,OR] 
RewriteCond %{HTTP_REFERER} ^http://(www\.)?baddomain2\.com [NC] 
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L] 
+1

哎呀,這很簡單。應該已經意識到自己!謝謝! – markratledge 2009-08-07 17:14:03

+0

如何動態定義的主機名? – ymakux 2016-12-23 09:04:22

3

Just add another condition之前的RewriteRule爲每個域,你想允許。

RewriteCond %{HTTP_REFERER} !friendlysite\.com [NC] 

(想必你不在乎,如果請求是通過HTTP或HTTPS或什麼的,這樣你就可以離開了這一點,以使其更通用)

相關問題