미니옵빠의 code stubs
NGINX Redirect (rewrite) 적용 본문
NGINX에서 redirect 를 적용하는 방법은 두 가지가 있음
1. rewrite 지시어
일반적으로 많이 쓰는 방법. 좀 지저분함
server {
...
rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;
rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra last;
return 403;
...
}
2. return 지시어
rewrite 보다 간결하며 직관적임.
server {
listen 80;
listen 443 ssl;
server_name www.old-name.com;
return 301 $scheme://www.new-name.com$request_uri;
}
return 코드는 아래처럼 (1xx | 2xx | 4xx | 5xx) ["text']; 의 신텍스를 쓸 수 있다고 하지만, redirect 류인 3xx 가 아니면 동작을 안함 (이유는 못찾음 -_-)
return 401 "Access denied because token is expired or invalid";
3. try_files 지시어
내부 파일 및 디렉토리로 연결할 때
location /images/ {
try_files $uri $uri/ /images/default.gif;
}
location = /images/default.gif {
expires 30s;
}
참고: https://www.nginx.com/blog/creating-nginx-rewrite-rules/