一、創建目錄 e:Rewrite
把 Rewrite 下的四個文件(httpd.ini 、httpd.parse.errors、mtbnotif.dll、Rewrite.dll)上傳到這里。
二、設置IIS屬性,選擇網站屬性,到ISAPI篩選器,
關閉屬性對話框。
再次查看網站屬性,到ISAPI篩選器
如果看到狀態為向上的綠色箭頭,就說明Rewrite模塊安裝成功了。
點添加,在名稱中輸入rewrite,可執行文件選擇剛才解壓后的文件Rewrite.dll,點確定;再點確定,
三、修改 e:Rewrite 里的 httpd.ini 文件為下面內容
復制代碼 代碼如下:
[ISAPI_Rewrite]
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Discuz4.10 Rewrite規則
RewriteCond Host: (.+)
# RewriteCond Referer: (?!*).*
RewriteCond Referer: (?!(?:*.abc.net|*.google.com|*.baidu.com)).+
RewriteRule .*.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O,N]
必須要保證httpd.ini有可寫權限,設置isapi_rewrite安裝文件夾everyone具有可修改權限后,去除該文件的只讀屬性。
httpd.ini默認設置如下:
復制代碼 代碼如下:
RewriteCond Host: (.+)
RewriteCond Referer: (?!/1.*).*
我們在它后面加上一句
復制代碼 代碼如下:
RewriteRule .*/.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]
即可實現gif/jpg/png/exe/rar/zip文件的防盜鏈,盜鏈頁面顯示的是/block.gif。block.gif是一個體積較少的圖片文件,我們可以在上面打上自己網站的版權標志和防盜鏈聲明。
如果按照上面設置,則除本站以外的所有網站均不能使用這里的圖片,如果要允許一些例外的網站比如google,baidu以及其它一些非營利性網站引用該怎么辦呢?我們可以用如下正則表達式來實現
復制代碼 代碼如下:
RewriteCond Referer: (?!(?:www/.jb51/.net|www/.google/.com|www/.baidu/.com)).+
如果想允許所有google子站和baidu子站形如images.baidu.com,images.google.com等站則做如下設置:
復制代碼 代碼如下:
RewriteCond Referer: (?!(?:*/.jb51/.net|*/.google/.com|*/.baidu/.com)).+
至此,一個相當有效的防盜鏈系統已經出來了,但如上設置有一個問題,如果瀏覽者瀏覽了盜鏈頁面后訪問本站頁面,則被盜鏈圖片的緩存會影響圖片的正常顯示。把
復制代碼 代碼如下:
RewriteRule .*/.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]
改為
RewriteRule .*/.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O,N]
參數N的意思是重新從站點請求文件而不是從本地緩存讀取。
新聞熱點
疑難解答
圖片精選