ホームページ >バックエンド開発 >PHPチュートリアル >NGINX は 404 エラー ページのリダイレクトを構成します

NGINX は 404 エラー ページのリダイレクトを構成します

WBOY
WBOYオリジナル
2016-07-25 08:46:491074ブラウズ
404 ページとは
Web サイトに問題が発生した場合、またはユーザーが存在しないページにアクセスしようとした場合、サーバーはコード 404 のエラー メッセージを返します。対応するページは 404 ページになります。 404 ページのデフォルトのコンテンツは、特定のサーバーに関連しています。 NGINX サーバーがバックグラウンドで使用されている場合、404 ページの内容は次のようになります:
404 Not Found
nginx/0.8.6
Why do you need toカスタマイズ the 404 page
404 エラーにアクセスしたとき上記のページでは、ユーザーの 99% (未調査、推定データ) がページを閉じ、ユーザーは静かに失われてしまうと思います。この時にユーザーを行きたい場所に誘導できる美しいページがあれば、確実にユーザーを囲い込むことができます。したがって、すべての Web サイトは独自の 404 ページをカスタマイズする必要があります。
NGINX での 404 ページのカスタマイズ方法
IIS および APACHE での 404 ページのカスタマイズの経験を紹介する記事はすでにたくさんあります。現在、私のサーバーのいくつかは NGINX です。問題を解決するために この問題は徹底的に研究されました。研究結果は、NGINX でカスタマイズした 404 ページを構成することが可能であることを示しており、それは次の手順だけで十分です:
1.独自の 404.html ページを作成する
2.変更。 nginx.conf in http 定義領域を追加します:
fastcgi_intercept_errors on;
3.nginx.conf を変更し、サーバー領域に追加します:
error_page 404 = /404.html
4.テストnginx.conf の正確さ:
/ opt/nginx/sbin/nginx –t
正しい場合、次の情報が表示されるはずです:
設定ファイル /opt/nginx/conf/nginx.conf 構文は問題ありません
設定ファイル /opt/nginx/conf/nginx.conf テストは成功しました
kill -HUP `cat /opt/nginx/nginx.pid `
設定ファイルの例:
……
  1. http
  2. {
  3. include mime.types;
  4. default_type application/octet-stream;
  5. charset gb2312;
  6. client_header_buffer_size 32k; 4 32k;
  7. client_max_body_size 8m;
  8. tcp_nopush をオンにします。 ;
  9. keepalive_timeout 60;
  10. tcp_nolay on;
  11. fastcgi_send_timeout 300;
  12. fastcgi_buffer_size 6 4k;
  13. fastcgi_buffers 4 64k;
  14. fastcgi_temp_file_write_size 128k; fastcgi_intercept_errors オン;
  15. gzip_min_length 1k;
  16. gzip_http_version 1.0;
  17. gzi p_types ; application/x-javascript text/css application/xml 内; gzip_vary on;
  18. #limit_zone クローラー $binary_remote_addr 10m;

  19. コードをコピー


  20. #65構成情報


  21. サーバー
  22. {
  23. サーバー名 www.65.la 65.la *.65.la;
  24. ルート /opt/ www/65;
  25. Fastcgi_index.php;
  26. error_page 404 = /404.html;
#502 などのエラーも同様の方法で設定できます。

  1. error_page 500 502 503 504 = /50x.html;
  2. location = /50x.html {
  3. root html;
  4. log_format 65 '$remote_addr – $remote_user [$time_local] 「$リクエスト」 '
  5. '$status $body_bytes_sent "$http_referer" '
  6. "$http_user_agent" $http_x_forwarded_for'
  7. access_log /opt/nginx/logs/65.log 65;
  8. }
...
注:
1. fastcgi_intercept_errors on を追加する必要があります。このオプションが設定されていない場合、404.html が作成され、error_page が設定されていても効果はありません。
fastcgi_intercept_errors 構文: fastcgi_intercept_errors on|off デフォルト: fastcgi_intercept_errors off 追加場所: http、server、location デフォルトでは、nginx はカスタム 404 エラー ページをサポートしません。このディレクティブが on に設定されている場合にのみ、nginx は 404 エラーのリダイレクトをサポートします。ここで注意する必要があるのは、fastcgi_intercept_errors on が設定されている場合、nginx が 404 エラーをリダイレクトするという意味ではないということです。 nginx で 404 エラー リダイレクトを有効にするための前提条件は、fastcgi_intercept_errors をオンに設定し、error_page オプション (文法および対応する 404 ページを含む) を正しく設定することです
2. トラブルを回避したり、ホームページの重量を増やしたりするために、ホームページを として指定しないでください。 404 エラー ページが表示されるため、他の方法を使用してホームページに移動しないでください。
3. カスタム 404 ページは 512 バイトより大きくなければなりません。そうでない場合は、IE のデフォルトの 404 ページが表示される可能性があります。たとえば、404.html がカスタマイズされており、サイズが 11 バイトのみであると仮定します (内容: 404 エラー)。次の 2 つの存在しないアドレスを使用してアクセスします:

質問してください、作成された 404 ページはどこにありますか? まだ試していません

@5169.info
どこにでも配置できますが、この設定行は必ず変更してください
error_page 404 = /404.html;


@5169.info
どこにでも配置できますが、この設定行は必ず変更してください
error_page 404 = /404.html;

つまり、各サブサイトは 404 ファイルをコピーする必要がありますが、これは可能ですか
error_page 404 = ../404.html;
404 の 1 セットを作成し、htdocs の下に置くだけです

現在、この記事にはトラックバックやピンバックはありません。

注意事項
: コメント投稿者は、'@user:'を使用して、他のコメント投稿者にコメントを通知することができます。
たとえば、ABC がこの記事のコメント投稿者の 1 人である場合、「@ABC一重引用符なしで」を使用すると、コメントが自動的に ABC に送信されます。
ユーザーはコメント投稿者の名前と一致する必要があり、大文字と小文字を区別して、と書く必要があります
NGINX は 404 エラー ページのリダイレクトを構成します
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。