web-dev-qa-db-ja.com

Nginxで404ページを設定する

私はこのページ(http://wiki.nginx.org/WordPress)を使って私のWordPressをnginx/php-fpmサーバー上にセットアップしています。

404ページ以外はすべて問題ありません。

  1. Www.example.com/fooをリクエストすると、デフォルトのnginx 404 not foundページが送信されます。
  2. 私はすでに次のように設定しました、しかし、運がありません..

構成:

fastcgi_intercept_errors on;
error_page   404  /index.php?error=404;

このページをリクエストするときにプラグインにコード(例えばdie( "wordpress");)を追加しようとしましたが、 そのリクエストはすでにwordpressによって処理されている デフォルトのテンプレートでは.phpです。

誰でも手伝える?

7
Yoga

あなたの設定から'fastcgi_intercept_errors'引数を削除してください。 'error_page'は404エラーを宣言しているのでそれは不要です。それはindex.phpによって処理されるべきで、PHP-FPMがそれを処理し、WordPressがあなたのテーマの404ページを表示するようにします。

直感に反するように思えますが、'fastcgi_intercept_errors'は実際にはPHPがエラーページを処理しないようにしています。

8
Christiaan