nginx 禁止瀏覽器(www.xxxxx.com.cn/test/)訪問目錄,允許本地去訪問目錄和目錄中檔案
阿新 • • 發佈:2018-12-10
location ^~ /test {
return 404;
}
解釋:location ^~ 匹配瀏覽器的域名 區分大小寫
/test 域名後面跟著的目錄名稱(可以換成別的)
return 404;也可以把 deny all 改換成 return 404,這樣將返回 404 而不是 403 Forbidden,更有“欺騙性”
^ 和 ~ 分別代表什麼意思呢 為什麼他們就代表了url呢?
基本語法:location [=|~|~*|^~] /uri/ { … }
= 嚴格匹配。如果這個查詢匹配,那麼將停止搜尋並立即處理此請求。
~ 為區分大小寫匹配(可用正則表示式) 區分大小寫匹配
!~為區分大小寫不匹配 不區分大小寫匹配
~* 為不區分大小寫匹配(可用正則表示式) 區分大小寫不匹配
!~*為不區分大小寫不匹配 不區分大小寫不匹配
^~ 如果把這個字首用於一個常規字串,那麼告訴nginx 如果路徑匹配那麼不測試正則表示式。
擴充套件: location ~* \.(txt|doc)$ { if (-f $request_filename) { root /home/domain/public_html/test; break; } }
location ~* \.bat {
deny all;
}
tip:對某些特定字尾名禁止訪問 location /phpsysinfo/ { allow 192.168.0.10; deny all; }
tips:對某個目錄進行訪問限制 除了指定ip外 全部拒絕訪問:
location ~ ^/(uploads|images)/.*\.(php|php5|jsp)$ {
deny all;
}
tips:在目錄uploads、images目錄下面的所有php、jsp都不能訪