在server中配置以下:html
location ~* b(?!logob)w+.(gif|jpg|png|swf|flv)$ { valid_referers none blocked www.100msh.com www.100msh.net; if ($invalid_referer) { rewrite ^/ http://www.100msh.com/images/logo.png; } root html; }
說明:正則表達式
Location 指令:是用來爲匹配的 URI 進行配置,URI 即語法中的」/uri/」,能夠是字符串或正則表達式。但若是要使用正則表達式,則必須指定前綴。shell
[=] 表示精確匹配,若是找到,當即中止搜索並當即處理此請求。
.net
[~ ] 表示區分大小寫匹配code
[~*] 表示不區分大小寫匹配server
[^~] 表示只匹配字符串,不查詢正則表達式。htm
[@] 指定一個命名的location,通常只用於內部重定向請求。圖片
1行:gif|jpg|png|swf|flv 表示對gif、jpg、png、swf、flv後綴的文件實行防盜鏈,可是不包括logo命名的圖片字符串
2行:www.100msh.com www.100msh.net 表示對www.100msh.com www.100msh.net這2個來路進行判斷get
if{}裏面內容的意思是,若是來路不是指定來路就跳轉到錯誤頁面.