1. 程式人生 > >nginx:location指令中的正則表達式

nginx:location指令中的正則表達式

code 表達 查找 ... 對象 指令 docs user contex

nginx:location指令中的正則表達式

uri匹配步驟

官網說明https://docs.nginx.com/nginx/admin-guide/web-server/web-server/

  1. 測試所有的前綴字符串
  2. 如果匹配到=後的字符串,則使用這個location;
  3. 如果最長的前綴字符串前有^~標記,則使用這個location;
  4. 存儲最長前綴字符串的location;
  5. 測試正則表達式;
  6. 如果匹配,則使用這個location;
  7. 如果沒有匹配,則使用最長前綴字符串的location。

更改uri

location /users/ {
    rewrite ^/users/(.*)$ /show?user=$1 break;
}

這裏$1表示正則表達式.*匹配到的對象;

location語法

Syntax: location [ = | ~ | ~* | ^~ ] uri { ... }
location @name { ... }
Default:    —
Context:    server, location

=精確匹配,~正則匹配,~*不區分大小寫的正則匹配,^~如果匹配到則使用(不再查找正則表達式是否匹配)

nginx:location指令中的正則表達式