nginx配置location [=|~|~*|^~] /uri/ { … }用法

nginx location介紹php

Nginx 中的 Location 指令 是NginxHttpCoreModule中重要指令。Location 指令,是用來爲匹配的 URI 進行配置,URI 即語法中的」/uri/」,能夠是字符串或正則表達式。但若是要使用正則表達式,則必須指定前綴。css

nginx location語法linux

基本語法:location [=|~|~*|^~] /uri/ { … }nginx

= 嚴格匹配。若是這個查詢匹配,那麼將中止搜索並當即處理此請求。
~ 爲區分大小寫匹配(可用正則表達式)
~* 爲不區分大小寫匹配(可用正則表達式)
!~和!~*分別爲區分大小寫不匹配及不區分大小寫不匹配
^~ 若是把這個前綴用於一個常規字符串,那麼告訴nginx 若是路徑匹配那麼不測試正則表達式。正則表達式

Location語法語法:location [=|~|~*|^~] /uri/ { … }
注:
一、~   爲區分大小寫匹配
二、~* 爲不區分大小寫匹配
三、!~和!~*分別爲區分大小寫不匹配及不區分大小寫不匹配cookie

示例一:ide

location  / { }測試

匹配任何查詢,由於全部請求都以 / 開頭。可是正則表達式規則將被優先和查詢匹配。spa

示例二:orm

 代碼以下 複製代碼
location =/ {}

僅僅匹配/

示例三:

 代碼以下 複製代碼
location ~* .(gif|jpg|jpeg)$ {
rewrite .(gif|jpg)$ /logo.png;

注:不區分大小寫匹配任何以gif,jpg,jpeg結尾的文件


nginx location應用實例

 代碼以下 複製代碼

location = / {
 # 只匹配 / 查詢。
 
}location / {
 # 匹配任何查詢,由於全部請求都已 / 開頭。可是正則表達式規則和長的塊規則將被優先和查詢匹配。
 
}location ^~ /p_w_picpaths/ {
 # 匹配任何已 /p_w_picpaths/ 開頭的任何查詢而且中止搜索。任何正則表達式將不會被測試。
 
}location ~* .(gif|jpg|jpeg)$ {
 # 匹配任何已 gif、jpg 或 jpeg 結尾的請求。
 
}location ~* .(gif|jpg|swf)$ {
  valid_referers none blocked start.igrow.cn sta.igrow.cn;
  if ($invalid_referer) {
  #防盜鏈
  rewrite ^/ http://$host/logo.png;
  }
}
location ~* .(js|css|jpg|jpeg|gif|png|swf)$ {
if (-f $request_filename) {
   #根據文件類型設置過時時間
   expires    1h;
   break;
}
}
location ~* .(txt|doc)${ 
 #禁止訪問某個目錄
    root /data/www/wwwroot/linuxtone/test;
    deny all;
}

++ 一些可用的全局變量$args$content_length$content_type$document_root$document_uri$host$http_user_agent$http_cookie$limit_rate$request_body_file$request_method$remote_addr$remote_port$remote_user$request_filename$request_uri$query_string$scheme$server_protocol$server_addr$server_name$server_port$uri

相關文章
相關標籤/搜索