location規則 Nginx位址重寫例項

2021-10-07 04:17:15 字數 2028 閱讀 7917

一、location規則

理解location規則前,先了解一下uri和url

uri :統一資源識別符號

像 /data/nginx/sanjin

就表示的是資源

url :統一資源定位符

像 /data/nginx/sanjin/

表示的是路徑

location規則優先順序

= 精確匹配優先順序最高

^~ 可理解為匹配url路徑

~ 區分大小寫的正則匹配

~* 不區分大小寫的正則匹配

!~ 區分大小寫不匹配正則

!~* 不區分大小寫不匹配正則 例項

二、nginx位址重寫

為什麼要進行nginx位址重寫實現**跳轉

~實現url偽靜態太化,方便被搜尋引擎收錄和人們記憶

~url中暴露資訊太多,靜態化的url位址安全性更高些

server 

server

#location /abc

#location /2015

#location /

#}#location /

#}#location /

#}#location /login

#location /uplook

location / if(

$host ~* "^(.*)\.sanjin\.com$")}

#location / ##}

}

(注:注意配置host)

十種應用場景

nginx 位址重寫語法

rewrite :重定向uri

rewrite 原位址 目標位址 flag

last 相當於apache裡的[l]標記,表示完成rewrite

break 本條規則匹配完成後,終止匹配,不再匹配後面的規則 (應用場景十)

redirect ==302 返回302臨時重定向,瀏覽器位址會顯示跳轉後的url位址

permanent == 301 返回301永久重定向,瀏覽器位址會顯示跳轉後url位址

$args 請求中的引數;

$document_root 針對當前請求的根路徑設定值;

$host 請求資訊中的"host",如果請求中沒有host行,則等於設定的伺服器名;

$limit_rate 對連線速率的限制;

$request_method 請求的方法,比如"get"、"post"等;

$remote_addr 客戶端位址;

$remote_port 客戶端埠號;

$remote_user 客戶端使用者名稱,認證用;

$request_filename 當前請求的檔案路徑名(帶root指定的路徑)

$request_uri 當前請求的檔案路徑名(不帶root指定的路徑 /images/a.jpg)

$ query_string 與$args相同;

$scheme 用的協議,比如http或者是https

$server_protocol 請求的協議版本,「http/1.0"或"http/1.1」;

$server_addr 務器位址,如果沒有用listen指明伺服器位址, 使用這個變數將發起一次系統呼叫以取得位址;

$server_name 請求到達的伺服器名;

$ document_uri 與$uri一樣,uri位址;

$server_port 請求到達的伺服器端口號;

nginx之location 匹配規則

語法規則location uri 模式 含義location uri 表示精確匹配,只有完全匹配上才能生效 location uri 開頭對url路徑進行字首匹配,並且在正則之前。location pattern 開頭表示區分大小寫的正則匹配 location pattern 開頭表示不區分大小寫的...

nginx之location匹配規則

1.概述nginx server 塊下的乙個指令,每個server塊可以包含多個location塊。2.作用 1 基於nginx伺服器接收到的請求字串 例如 server name abc 對除虛擬主機名稱 也可以是ip別名 之外的字串 例如 abc 進行匹配,對特定的匹配進行處理 2 位址定向 資...

Nginx詳解Location匹配規則

本文我們來給大家詳細介紹下nginx中的核心配置檔案中的location匹配規則。location會嘗試根據使用者請求中的uri來匹配上面的 uri表示式,如果可以匹配,就選擇location 塊中的配置來處理使用者請求。當然,匹配方式是多樣的,下面介紹location的匹配規則。語法 locati...