10.12-10.15 rewrite配置if,break和last的用法,rewrite規則,Nginx全局變量
Nginx的Rwrite配置
加粗 域名跳轉(重定向)、URL重寫(僞靜態)、動靜分離(跳轉域名,並接入CDN實現加速)
依賴PCRE庫
模塊:ngx_http_rewrite_module
加粗 Rwrite相關指令
if (條件) { command } coding.net/u/aminglinux/p/nginx/git/blob/master/rewrite/if.md
break和last coding.net/u/aminglinux/p/nginx/git/blob/master/rewrite/break.md
開啓rewrite日誌記錄:
1.在server加入 rewrite_log on;
2.在nginx.conf 配置error_log logs/nginx_error.log notice; notice會記錄rewrite錯誤信息
配置:
vim nginx/conf/nginx.conf error_log logs/nginx_error.log notice; vim nginx/conf/vhost/1.com_default.conf server{ listen 80; server_name *.1.com 1.com; index index.html 80.html; root /data/t-nginx/1.com; rewrite_log on; rewrite /1.html /2.html ; rewrite /2.html /3.html ; } # curl -x127.0.0.1:80 1.com/1.html 3333
3.當我們請求1.html時,最終訪問到的是3.html,兩條rewrite規則先後執行。
tail nginx/logs/nginx_error.log 2018/10/22 11:21:00 [notice] 20967#0: *1906 "/1.html" matches "/1.html", client: 127.0.0.1, server: *.1.com, request: "GET HTTP://1.com/1.html HTTP/1.1", host: "1.com" 2018/10/22 11:21:00 [notice] 20967#0: *1906 rewritten data: "/2.html", args: "", client: 127.0.0.1, server: *.1.com, request: "GET HTTP://1.com/1.html HTTP/1.1", host: "1.com" 2018/10/22 11:21:00 [notice] 20967#0: *1906 "/2.html" matches "/2.html", client: 127.0.0.1, server: *.1.com, request: "GET HTTP://1.com/1.html HTTP/1.1", host: "1.com" 2018/10/22 11:21:00 [notice] 20967#0: *1906 rewritten data: "/3.html", args: "", client: 127.0.0.1, server: *.1.com, request: "GET HTTP://1.com/1.html HTTP/1.1", host: "1.com"
日誌解釋:
以""爲分界,左邊規則,右邊匹配
return 後面跟狀態碼、URL、text(支持變量)coding.net/u/aminglinux/p/nginx/git/blob/master/rewrite/return.md
反饋字符串可以這樣寫
return 200 "it's 200";
格式:return 狀態碼 "字符串";
rewrite規則 coding.net/u/aminglinux/p/nginx/git/blob/master/rewrite/rewrite_ruler.md
rewrite_log定義rewrite日誌 rewrite_log on; 寫到error_log notice級別
Rwrite相關全局變量
coding.net/u/aminglinux/p/nginx/git/blob/master/rewrite/variable.md
Rwrite實戰
coding.net/u/aminglinux/p/nginx/git/blob/master/rewrite/example.md