NGINX的REWRITE配置

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NGINX的REWRITE配置

NGINX的LOCATION可以有以下几个匹配:

1. = 严格匹配这个查询。如果找到,停止搜索。

2. ^~ 匹配路径的前缀,如果找到,停止搜索。

3. ~ 为区分大小写的正则匹配

4. ~* 为不区分大小写匹配

例子:

LOCATION = / {

# MATCHES THE QUERY / ONLY.

# 只匹配/ 查询。

[ CONFIGURATION A ]

}

LOCATION / {

# MATCHES ANY QUERY, SINCE ALL QUERIES BEGIN WITH /, BUT REGULAR

# EXPRESSIONS AND ANY LONGER CONVENTIONAL BLOCKS WILL BE

# MATCHED FIRST.

# 匹配任何查询,因为所有请求都已/ 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。[ CONFIGURATION B ]

}

LOCATION ^~ /IMAGES/ {

# MATCHES ANY QUERY BEGINNING WITH /IMAGES/ AND HALTS SEARCHING,

# SO REGULAR EXPRESSIONS WILL NOT BE CHECKED.

# 匹配任何已/IMAGES/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。

[ CONFIGURATION C ]

}

LOCATION ~* ".(GIF|JPG|JPEG)$ {

# MATCHES ANY REQUEST ENDING IN GIF, JPG, OR JPEG. HOWEVER, ALL

# REQUESTS TO THE /IMAGES/ DIRECTORY WILL BE HANDLED BY

# CONFIGURATION C.

# 匹配任何已GIF、JPG 或JPEG 结尾的请求。然而所有/IMAGES/ 目录的请求将使用CONFIGURATION C。

[ CONFIGURATION D ]

}

REWRITE指令

REWRITE REGEX REPLACEMENT FLAG

后面的FLAG可以是:

LAST - COMPLETES PROCESSING OF REWRITE DIRECTIVES, AFTER WHICH SEARCHES FOR CORRESPONDING URI AND LOCATION

BREAK - COMPLETES PROCESSING OF REWRITE DIRECTIVES

REDIRECT - RETURNS TEMPORARY REDIRECT WITH CODE 302; IT IS USED IF THE SUBSTITUTING LINE BEGINS WITH HTTP://

PERMANENT - RETURNS PERMANENT REDIRECT WITH CODE 301

需要注意的是,如果REWRITE后,不要它再去匹配其它的LOCATION,则需要加上BREAK,如:LOCATION ^~ /HTML/L/

{

ROOT /OPT/DOCPARSER;

REWRITE "^/HTML/L/(.*)$" /$1;

#注意,需要有BREAK,否则REWRITE后还会继续匹配下面的LOCATION

BREAK;

}

LOCATION ~ /(.*)$ {

PROXY_PASS HTTP://127.0.0.1:8080;

}

相关文档
最新文档