nginx rewrite規則
實作url的重寫以及對比對的url的重定向
配置文法
# regex 要比對的路徑
# replacement 要跳轉的路徑
# flag 标記ngin rewrite的類型
Syntax: rewrire regex replacement [flag];
Default: --
Context: server, location, if
# rewrite ^(.*)$ /page/maintain.html break;
flag | 作用 |
last | 停止rewrite檢測(比對到以後會通路root配置下的跳轉路徑) |
break | 停止rewrite檢測(比對到後會建立一個請求重新請求對應的路徑+跳轉) |
redirect | 傳回302臨時重定向,位址欄會顯示跳轉後的位址 |
permanent | 傳回301永久重定向,位址欄會顯示跳轉後的位址 |
rewrite 規則優先級
- 執行server快的rewrite指令
- 執行location比對
- 執行標明的location中的rewrite
nginx 動靜分離
什麼是動靜分離 通過中間件将動态請求和靜态請求分離
為什麼動靜分離 分離資源,減少不必要的請求消耗,減少請求延時
server {
listen 80;
server_name localhost;
root /opt/app/code;
location ~ \.do$ {
proxy_pass http://localhost:8080;
index index.html index.htm;
}
location ~ \.(jpg|png|gif)$ {
expires 1h;
gzip on;
}
}