Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> nginx location語法使用說明

nginx location語法使用說明

日期:2017/2/8 10:12:53      編輯:關於服務器

nginx location介紹

Nginx 中的 Location 指令 是NginxHttpCoreModule中重要指令。Location 指令,是用來為匹配的 URI 進行配置,URI 即語法中的”/uri/”,可以是字符串或正則表達式。但如果要使用正則表達式,則必須指定前綴。

nginx location語法

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

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

Location語法語法:location [=|~|~*|^~] /uri/ { … }
注:
1、~   為區分大小寫匹配
2、~* 為不區分大小寫匹配
3、!~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配

示例一:

location  / { }

匹配任何查詢,因為所有請求都以 / 開頭。但是正則表達式規則將被優先和查詢匹配。

示例二:

 代碼如下   location =/ {}

僅僅匹配/

示例三:

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

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


nginx location應用實例

 代碼如下  

location = / {
 # 只匹配 / 查詢。
 
}location / {
 # 匹配任何查詢,因為所有請求都已 / 開頭。但是正則表達式規則和長的塊規則將被優先和查詢匹配。
 
}location ^~ /images/ {
 # 匹配任何已 /images/ 開頭的任何查詢並且停止搜索。任何正則表達式將不會被測試。
 
}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

Copyright © Windows教程網 All Rights Reserved