본문 바로가기
linux

nginx location 정규식 적용

by 후린트 2021. 1. 14.
반응형

 

nginx try_files 구문 
nginx.org/en/docs/http/ngx_http_core_module.html#try_files

server {
	listen 80;
  	server_name karint.me;
    
  	location ~ ^/public/css/(.+)$ {
    
		root c:/work/source/karint/web/src/main/resources/public/css;
		try_files /public/css/$1 /public/$1 /$1 =404;
	}


	location ~ ^/public/(.+)/(.+)$ {
    
		root c:/work/source/karint/web/src/main/resources/public/;
		try_files /public/$1/$2 /public/$1/common/$2 /$1/$2 =404;
  	}


}

location 설정을 보면 /public/css로 시작하는 모든 URL과 매칭된다. 
설정중에 ()로 되어 있는 부분은 그룹핑으로 캡쳐되어 괄호 순서에 따라서
$1 $2 $3 .... 순으로 활용할 수 있다.


url : http://karint.me/public/css/common.css
-> 1. ${root}/public/css/common.css
    2. ${root}/public/common.css
    3. 404 status code

url : http://karint.me/public/js/common.js
-> 1. ${root}/public/js/common.js
    2. ${root}/public/js/common/common.js
    3. ${root}/js/common.js
    4. 404 status code

위의 예처럼 try_files의 순서에 맞춰서 파일을 find한뒤에 
파일이 있을경우 해당 파일을 read하고 없을 경우에는 뒤에 정의된 파일을 find하도록 되어 있다.

 

 

 

 

 

 

반응형