redir 지시문
redir 지시문 (HTTP 리다이렉트)
redir 지시문은 클라이언트에게 HTTP 리다이렉트를 보내요. 조건에 맞는 요청을 그대로 거부하고 다른 URL로 다시 시도하도록 안내해요.
출처: Caddy 공식 문서
본문
클라이언트에게 HTTP 리다이렉트를 발행해요.
이 지시문은 조건에 맞는 요청을 그대로 거절하고, 클라이언트가 다른 URL에서 다시 시도해야 한다는 뜻이에요. 그래서 그 지시문 순서는 매우 앞쪽에 있어요.
문법 (Syntax)
redir [<matcher>] <to> [<code>]
-
****는 대상 위치예요. 응답의
Location헤더가 돼요. -
**
**는 리다이렉트에 사용할 HTTP 상태 코드예요. 다음 중 하나가 될 수 있어요:-
3xx범위의 양의 정수, 또는401 -
일시적 리다이렉트인
temporary(302 Found, 기본값) -
영구 리다이렉트인
permanent(301 Moved Permanently) -
리다이렉트를 수행하는 HTML 문서를 쓰는
html(브라우저엔 유용하지만 API 클라이언트엔 아님) -
상태 코드 값이 담긴 placeholder
-
temporary와 permanent 모두 사용자 에이전트가 메서드를 바꿀 수 있게 해줘요(예: POST에서 GET으로). 두 번째 요청에서 메서드가 동일해야 한다면 307 Temporary Redirect와 308 Permanent Redirect 상태 코드를 사용해야 해요. Caddy는 자동 HTTP→HTTPS 리다이렉트에서 상태 코드로 308을 사용해요.
예시 (Examples)
모든 요청을 https://example.com으로 리다이렉트해요:
www.example.com {
redir https://example.com
}
같은 동작이지만 기존 URI를 보존하도록 {uri} placeholder를 붙여요:
www.example.com {
redir https://example.com{uri}
}
같은 동작이지만 영구 리다이렉트예요:
www.example.com {
redir https://example.com{uri} permanent
}
기존 /about-us 페이지를 새로운 /about 페이지로 리다이렉트해요:
example.com {
redir /about-us /about
reverse_proxy localhost:9000
}
더 알아보기 (Learn more)