Daylogs/Nginx

nginx: error_page 디렉티브의 기준 경로는 / 이다.

ohgyun 2015. 10. 13. 10:21
발생일: 2015.03.15

키워드: nginx, error page

문제:
nginx 에서 html 페이지를 에러 페이지로 설정하고, 인터널로 해당 룰을 처리하려고 한다.


error_page 404 404.html;

...

location ~* "^\w+\.html$” {
    internal;
    …
}


위와 같이 룰을 설정했는데 의도한 대로 라우팅되지 않는다.

왜일까...


해결책:

error_page 404 404.html;

위와 같이 처리할 경우, 404 에러가 발생하면, `404.html`이 아니라, `/404.html`로 라우팅된다.

error_page 디렉티브의 기준 경로가 루트 (/)인 모양이다.


헷갈리지 않게 아래와 같이 룰을 수정했다.


error_page 404 /404.html;

...

location ~* “^/\w+\.html$” {
    internal;
    …
}


반응형