您好,登錄后才能下訂單哦!
使用.htaccess怎么設置圖片防盜鏈,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
真正有用的.htaccess寫法為
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !jb51.net [NC]
RewriteCond %{HTTP_REFERER} !youdao.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !twitter.com [NC]
RewriteCond %{HTTP_REFERER} !facebook.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !google.com.tw [NC]
RewriteCond %{HTTP_REFERER} !google.com.sg [NC]
RewriteCond %{HTTP_REFERER} !google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]
RewriteCond %{HTTP_REFERER} !mail.qq.com [NC]
RewriteCond %{HTTP_REFERER} !cn.bing.com [NC]
RewriteCond %{HTTP_REFERER} !image.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteRule .(png|jpg)$ /no.gif [R,NC,L]
我把.htaccess文件和no.gif文件一起上傳到了根目錄,注意看最后一行,當指定類型(png或jpg)的圖片出現在非上述列表中的網站時,圖片會自動替換成no.gif。
解釋一下上述語句:
1、RewriteCond %{HTTP_REFERER} !^$ [NC]
允許空“HTTP_REFERER”的訪問,即允許用戶在瀏覽器地址欄中直接輸入圖片地址時圖片文件的顯示。一般而言,這是可選的,不過,建議這么設置,如果強迫必須具有“HTTP_REFERER”才能訪問,可能會帶來某些問題,比如說在用戶通過代理服務器訪問時。
2、 RewriteCond %{HTTP_REFERER} !zhukun.net [NC]
設置允許訪問的HTTP來源,包括我們的自身站點、Google、Baidu、Bloglines、Feedburner、feedsky等。
3、 RewriteRule .(jpg|png)$ /no.gif [R,NC,L]
定義被盜鏈時替代的圖片,讓所有盜鏈 jpg、png 等圖片的網頁,顯示根目錄下的 no.gif 文件。注意:這里必須有一個“/”,而且no.gif件體積越小越好,越小就越節省流量。
4、說明一下其中的 R、NC 和 L
R 就是轉向的意思
NC 指的是不區分大小寫
L 指明本次轉向到此結束,后續的轉向不受先前判斷語句的影響
特別注意:不建議同時禁止gif|jpg|png這三種圖片文件,比如你已經禁止了gif,但是卻用了no.gif來替換盜鏈圖片,這樣肯定會出問題。如果你想同時禁止這三種類型,可以使用以下方法來解決:
RewriteRule .(gif|png|jpg)$ http://farm3.static.flickr.com/2743/4462030670_dc36df0e3d_o.png [R,NC,L]
即用其它服務器上(未設置過防盜鏈)的圖片來替換演示。
本方法已在Godaddy的免費空間上測試成功,再次聲明一下,清風小荷塘原創文章,轉載請標明來源。
下面是其它網友的補充,直接本地例外一個目錄
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/images
RewriteRule ^.*$ - [L]
RewriteCond %{REQUEST_FILENAME} \.(jpg|gif|bmp|zip|rar|mp3|txt|png|wma|wmv)$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !www.laoyao.me [NC]
RewriteCond %{HTTP_REFERER} !laoyao.me [NC]
RewriteCond %{HTTP_REFERER} !www.zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !www.google.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !www.google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !www.google.cn [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !www.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !www.baidu.cn [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.cn [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !www.ask.com [NC]
RewriteCond %{HTTP_REFERER} !www.163.com [NC]
RewriteCond %{HTTP_REFERER} !www.yahoo.com [NC]
RewriteCond %{HTTP_REFERER} !www.sogou.com [NC]
RewriteCond %{HTTP_REFERER} !www.soso.com [NC]
RewriteCond %{HTTP_REFERER} !www.sina.com.cn [NC]
RewriteCond %{HTTP_REFERER} !www.msn.com [NC]
RewriteCond %{HTTP_REFERER} !www.feedsky.com [NC]
RewriteCond %{HTTP_REFERER} !www.feedburner.com [NC]
RewriteRule (.*) /images/error.gif [R,NC,L]
代碼說明:代碼第二行,意思是將網站images目錄的權限打開,也就是說images文件夾下的圖片不進行防盜鏈,為什么呢?因為我們的盜鏈警告圖片放在這個目錄下,你要是不把這個目錄權限打開,那么別人盜鏈的時候,連這張盜鏈警告圖片也顯示不出來,只能顯示紅叉叉,這不是我們想要的效果。代碼第四行為需要防盜鏈文件的后綴名,可以自行根據需要修改。后邊那些代碼的意思是哪些網站可以不防盜鏈,都是一些搜索引擎之類的,還有自己站的網址。代碼最后一行為盜鏈時顯示的警告圖片。也可以將這張圖片存放到其他的網站,比如某些圖片存儲空間,這樣的話就可以更加節省本站流量了。
補充方法三:
.htaccess寫法為如下,下載本文的附件,附件中包括了PSD源文件。周到吧,為了不想再做圖片的,只要打開改一下網址就可以用了,當然也可以自己設計!國外虛擬主機流量太小,圖片防盜鏈接是必須做的。
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !yziw.net [NC]
RewriteCond %{HTTP_REFERER} !youdao.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !twitter.com [NC]
RewriteCond %{HTTP_REFERER} !facebook.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !google.com.tw [NC]
RewriteCond %{HTTP_REFERER} !google.com.sg [NC]
RewriteCond %{HTTP_REFERER} !google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]
RewriteCond %{HTTP_REFERER} !mail.qq.com [NC]
RewriteCond %{HTTP_REFERER} !cn.bing.com [NC]
RewriteCond %{HTTP_REFERER} !image.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteRule .(gif|png|jpg)$ http://www.yziw.net/images/linkeldiy.png [R,NC,L]
注意:最后一行替換圖片要改成自己的
禁止圖片外鏈.htaccess文件下載
繼續補充一下
先解釋一下圖片防盜鏈和轉向:
Q 圖片防盜鏈有什么用?
A 防止其它網站盜用你的圖片,浪費你寶貴的流量。
Q 圖片轉向有什么用?
A 如果你的網站以圖片為主,哪天發現月底沒到流量就快用光了,那就可以利用圖片轉向,在不修改網頁的前提下,把圖片下載請求轉向到其它空間(比如試用主機),臨時過渡。
下面開始講解,比如你的圖片都在img目錄下,那就在該目錄下放一個名為 .htaccess 的文件,內容如下:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !chong4.com.cn [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]
RewriteRule ^(.*)$ http:\/\/image.chong4.com.cn\/image\/$1 [L]
大概解釋一下:
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !chong4.com.cn [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
這部分是判斷是否盜鏈,如果以上條件都成立(即訪問圖片的請求,既不是直接輸入網址,也不是來自chong4.com.cn,也不是來自zhuaxia.com,也不是來自google.com,也不是來自baidu.com,也不是來自bloglines.com 的話),就執行下列轉向:
RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]
意思是讓所有盜鏈 img 目錄下 jpg、gif、png、bmp、swf、jpeg 文件的網頁,顯示的圖片都用 image 目錄下的 replace.gif 圖片替換掉。注意替換顯示的圖片不要放在設置防盜鏈的 img 目錄下。
如果照上面的規則判斷出圖片請求不是盜鏈的,就執行以下轉向:
RewriteRule ^(.*)$ http:\/\/image.chong4.com.cn\/image\/$1 [L]
意思對 img 目錄下所有的請求都轉向到目標服務器,比如有個圖片原來的 url 是 http://www.chong4.com.cn/img/girl.jpg ,現在就會轉到 http://image.chong4.com.cn/image/girl.jpg 去。當然了你得先把原服務器 img 目錄下的文件統統拷貝到臨時服務器的 image 目錄下,轉向才會真正可用。起到的效果就是把原服務器圖片下載所占用的流量統統省下,讓臨時服務器來承受了。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。