$args 此變量與請求行中的參數相等
$content_length 等于請求行的“Content_Length”的值。
$content_type 等同與請求頭部的”Content_Type”的值
$document_root 等同于目前請求的root指令指定的值
$document_uri 與$uri一樣
$host 與請求頭部中“Host”行指定的值或是request到達的server的名字(沒有Host行)一樣
$limit_rate 允許限制的連接配接速率
$request_method 等同于request的method,通常是“GET”或“POST”
$remote_addr 用戶端ip
$remote_port 用戶端port
$remote_user 等同于使用者名,由ngx_http_auth_basic_module認證
$request_filename 目前請求的檔案的路徑名,由root或alias和URI request組合而成,如:/2016/abc.html
$request_body_file
$request_uri 含有參數的完整的初始URI,如/2013/81.html
$query_string 與$args一樣
$server_protocol 等同于request的協定,使用“HTTP/1.0”或“HTTP/1.1”
$server_addr request到達的server的ip,一般獲得此變量的值的目的是進行系統調用。為了避免系統調用,有必要在listen指令中指明ip,并使用bind參數。
$server_name 請求到達的伺服器名
$server_port 請求到達的伺服器的端口号
$uri 等同于目前request中的URI,可不同于初始值,例如内部重定向時或使用index
正規表達式比對,其中:
* ~ 為區分大小寫比對
* ~* 為不區分大小寫比對
* !~和!~*分别為區分大小寫不比對及不區分大小寫不比對
檔案及目錄比對,其中:
* -f和!-f用來判斷是否存在檔案
* -d和!-d用來判斷是否存在目錄
* -e和!-e用來判斷是否存在檔案或目錄
* -x和!-x用來判斷檔案是否可執行
flag标記有:
* last 相當于Apache裡的[L]标記,表示完成rewrite
* break 終止比對, 不再比對後面的規則
* redirect 傳回302臨時重定向 位址欄會顯示跳轉後的位址
* permanent 傳回301永久重定向 位址欄會顯示跳轉後的位址
域名重定向:
}
泛域名的解析:
if ($host != 'www.abc.com/bbb/') {
通路aaa目錄,自動跳轉到bbb目錄:
location / {
rewrite ^/aaa/(.+)$ /bbb/$1 last;
}
break;
禁止htaccess:
location ~/\.ht {
deny all;
本文轉自奇迹的少年部落格51CTO部落格,原文連結http://blog.51cto.com/raffaelexr/1793013如需轉載請自行聯系原作者
liliangchun