2012-01-15 6 views
1

私はウェブサイトで作業しています。ユーザーが認証されていないか、指定されたページを表示する権限がない場合、標準の404ページを投函します。私は少し見たが、運はなかった。明らかに、私はHTMLをコピーすることができますが、私はむしろそうしたくありません。可能であれば、nginxが使用する実際の404ページを使用したいと思います。デフォルトのnginx 404ページを複製していますか?

どこでこれを見つけることができますか?

+0

なぜHTMLをコピーしたくないのかわかりません。 HTMLではない場合、あなたは何を期待していますか? –

+0

@KyleJones、私はちょうどそれがすべてのことをやって半分の方法だと思う。 – Rob

+0

これは私が推測していることは、nginxに404ページを表示させ、あなたの質問から私には分からなかったHTTP 404コードを返すようにする何らかの方法だと思います。 –

答えて

3

nginx -Vを実行し、--prefix=/prefix/path/to/nginxで定義されたパスを探します。

あなたはカスタムエラーページをしたいときに、デフォルトのファイルを編集する良い方法は、HTTPの下であなたのnginx.confファイルにこのようなブロックを追加することです

/prefix/path/to/nginx/html404.htmlとしてデフォルト404ファイルを検索しますセクション

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と表示されます。あなたは明らかにあなたが、その後

server { 

    ... 

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

    ... 

} 
ようなものを追加し、各サーバのセクションの下に、そのような /prefix/path/to/nginx/errorsなど、サーバー上のどこかに404_not_found.htmlファイルを保存することができますが、特定のカスタムページをしたいものを

を定義します

以前に定義されたエラーコードのいずれかがスローされると、いつでも事前定義されたカスタムページが提供されます。

関連する問題