在類unix主機上,文件系統是區分大小寫的,但在網絡上卻需要忽略大小寫,比如一些網友上傳照片的時候,圖片后綴名一般是大寫的。這將會導致我們前端緩存服務無法緩存或進行重復緩存,影響效率。
如果使用nginx,在配置location時,可以用~*忽略大小寫,例如:
location ~* \.(ftpquota|htaccess|htpasswd)?$ { # ~*表示忽略大小寫
deny all;
}
配置squid的acl時,可以用-i忽略大小寫,例如:
acl domain dstdomain -i adocode.com(-i表示忽略大小寫)
http_access deny domain
而在varnish的vcl語法中,可以用(?i)的正則表達式忽略大小寫,例如:
if (req.http.referer !~ "(?i)icodex.org") { # (?i)表示忽略大小寫
error 404;
}