引言:nginx作為反向 Proxy伺服器, 有時候需要修改http請求中的uri;
nginx rewrite模組包含的指令
- break
- if
- return
- rewrite
- rewrite_log
nginx rewrite模組簡介
The ngx_http_rewrite_module module is used to change request URI using regular expressions, return redirects, and conditionally select configurations.
主要包含三種方式,Regex改變uri, 直接返回跳轉301,302、返回404、501錯誤; 根據條件修改uri;
nginx rewrite模組指令的執行順序
該模組的指令可以出現在server/location下面,當然還有if塊中;
- the directives of this module specified on the server level are executed sequentially;
- repeatedly:
- a location is searched based on a request URI;
- the directives of this module specified inside the found location are executed sequentially;
- the loop is repeated if a request URI was rewritten, but not more than 10 times.
rewrite指令的標記
Syntax: rewrite regex replacement [flag];Default: —Context: server, location, if
- last ; stops processing the current set of ngx_http_rewrite_module directives and starts a search for a new location matching the changed URI;
- break ; stops processing the current set of ngx_http_rewrite_module directives as with the break directive;
- redirect; returns a temporary redirect with the 302 code; used if a replacement string does not start with “http://” or “https://”;
- permanent ; returns a permanent redirect with the 301 code.
這四個標記並非是必須的,如果缺失[flag],則順序向下執行;
流程圖
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介紹了nginx rewite指令模組,包括了Regex方面的內容,希望對PHP教程有興趣的朋友有所協助。