2012-01-15 2 views
1

웹 사이트에서 작업하고 있는데 사용자가 인증되지 않았거나 지정된 페이지를 볼 수있는 권한이없는 경우 표준 404 페이지를 게시하려고합니다. 나는 조금보고 다녔다. 그러나 행운이 없다. 분명히 HTML을 복사 할 수는 있지만 오히려하지 않을 것입니다. 차라리 가능한 경우 nginx가 사용하는 실제 404 페이지를 사용하고 싶습니다.기본 nginx 404 페이지 복제?

어디에서 찾을 수 있습니까?

+0

왜 HTML을 복사하지 않는지 이해가되지 않습니다. HTML이 아니라면 무엇을 기대하고 있습니까? –

+0

@KyleJones, 나는 그저 하찮은 방식으로하는 것처럼 느낍니다. – Rob

+0

당신이 묻는 것은 그것이 nginx가 404 페이지를 표시하고 _send HTTP 404 code_를 표시하게하는 방법이라고 추측하고 있습니다.이 질문은 귀하의 질문에서 나에게 명확하지 않습니다. –

답변

3

nginx -V을 실행하고 --prefix=/prefix/path/to/nginx으로 정의 된 경로를 찾으십시오.

당신은 사용자 지정 오류 페이지를 할 때 기본 파일을 편집에 /prefix/path/to/nginx/html

더 좋은 방법 아래 404.html 같은 기본 404 파일을 찾을 수

는 같은 HTTP에서 당신의 nginx.conf 파일이 같은 블록을 추가하는 것입니다 섹션

error_page 400 /error_docs/400_bad_request.html; 
error_page 401 /error_docs/401_unauthorized.html; 
error_page 403 /error_docs/403_forbidden.html; 
error_page 404 /error_docs/404_not_found.html; 
error_page 405 /error_docs/405_method_not_allowed.html; 
error_page 406 /error_docs/406_not_acceptable.html; 
error_page 407 /error_docs/407_proxy_authentication_required.html; 
error_page 412 /error_docs/412_precondition_failed.html; 
error_page 415 /error_docs/415_unsupported_media_type.html; 
error_page 500 /error_docs/500_internal_server_error.html; 
error_page 501 /error_docs/501_not_implemented.html; 
error_page 502 /error_docs/502_bad_gateway.html; 
error_page 504 /error_docs/504_gateway_timeout.html; 

이것은 기본적으로 404 오류가 발생하면 /error_docs/404_not_found.html을 사용합니다. 당신은 분명히 그런 다음 추가, 각 서버 섹션에서, 같은 /prefix/path/to/nginx/errors 다음 서버에 어딘가에

server { 

    ... 

    location /error_docs { 
     internal; 
     alias /prefix/path/to/nginx/errors; 
    } 

    ... 

} 
같은를 404_not_found.html 파일을 저장할 수 있습니다 특정 사용자 정의 페이지

을하고 싶은 사람들을 정의

이전에 정의 된 오류 코드가 발생할 때마다 미리 정의 된 사용자 정의 페이지가 제공됩니다.