因為網站的關系,不得不把服務器加上防盜鏈,以前在Apache上的時候很省力,Apache的規則直接可以Referer就可以防盜鏈,現在當然我是在X86的IIS6.0上,上面那一套沒用了,早聽聞ISAPI_Rewrite的名氣,但無奈是收費的,這些額外開支能省就省吧~我可不是大戶囧,而我又是很懶的,不愿意花太多時間改asp的生成HTML的模塊上,本來程序就已經被我這改改那改改的了。結合上面情況,最后還是選擇了偽htm,url重寫技術。下面是一些我自己服務器上寫的規則,應該能滿足常用的了。看了英文的ISAPI_Rewrite,覺得還是很有用的,中文的就算了。搜索ISAPI_Rewrite規則,第一頁所有的文章都一樣orz…
[ISAPI_Rewrite]
#偽Html部份
RewriteRule /article_([0-9,a-z]*).html /article.asp/?id=$1
RewriteRule /default([0-9,a-z]*).html /default.asp/?$1
RewriteRule /default_([0-9,a-z]*).html /default.asp/?cateID=$1
RewriteRule /default.html /default.asp
#防盜鏈部分
RewriteCond Host: (.+)
RewriteCond Referer: (?!http:///1.*).*
RewriteCond Referer: (?!http://(?:.*/.kenvi/.cn|kenvi/.cn|.*/.google/.com|google.com|.*/.baidu/.com|baidu/.com)).+
RewriteRule .*/.(?:gif|jpg|png|exe|rar|zip|torrent|bmp|pdf) /badlink.png [I,O,N]
#結束
只有兩個文件:
ISAPI_Rewrite.dll (加載于欲防站點,需重啟iis)
http.ini (存放在ISAPI_Rewrite.dll的同級目錄,修改保存后實時生效。)
解釋
第一行:將article.asp?id=1 轉為使用article_1.html來訪問
第二行:這個就是典型的單參數例子,多參數例子就是第一行羅,如果title不是中文就把 .* 換成 /d+
第三行:這個就是典型的無參數例子
第四行:這個還是典型的無參數例子 ^_^
第五行:空白
第六行:注釋
如果需要防盜鏈,第七行第八行照抄
第九行:設置友情站點,這些站點可以訪問網站上的資源?!?*/.google/.com”.* 是代表任意前綴。
第十行:設置受限文件格式, [I,O,N] 后面的 N 用來防止防問了盜鏈者網站后將badlink.png 緩存下來(再訪問你的站點使用緩存的badlink.png 就不雅觀啦)
新聞熱點
疑難解答