개발

nginx 정규식 regex args에 변수명 설정하기 (variable capture)

소밍소밍 2022. 7. 21. 22:11

먼저 아래 명령어로 PCRE 버전을 확인한다.

 rpm -qa | grep pcre

PCRE-7.0 이상인 경우에 아래와 같이 사용할 수 있다. 

 

정규식 내부 변수명을 설정할 영역을 (?<name>(regex)) 또는 (?'name'(regex))로 감싸준다

아래와 같이 사용하면 page라는 변수명을 사용할 수 있게 된다 

location ~ ^/my/(?<page>(account|order))$ {
    proxy_pass http://to-proxy/user/$page$is_args$args;
}

더 많은 내용을 알아보고 싶다면 variable capture in nginx 라는 검색어를 사용하면 된다.

 

공식 문서는 여기

http://nginx.org/en/docs/http/server_names.html#regex_names