引言:nginx作为反向代理服务器, 有时候需要修改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.
主要包含三种方式,正则表达式改变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指令的标记
<code><span>Syntax</span>: <span>rewrite regex replacement [flag];</span><span>Default</span>: <span> —</span><span>Context</span>: <span> server, location, if</span></code>
- 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 ').text(i));
};
$numbering.fadeIn(1700);
});
});
以上就介绍了nginx rewite指令模块,包括了正则表达式方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn