I am using this page (http://wiki.nginx.org/WordPress) to setup my WordPress on a nginx/php-fpm server.
Everything is okay, except the 404
page
- When I request www.example.com/foo, it send me the default nginx 404 not found page
- I have already set the following, but no luck..
Config:
fastcgi_intercept_errors on;
error_page 404 /index.php?error=404;
I have tried to add some code (e.g. die(“wordpress”);) in a plugin when I request this page, and clearly that the request is handled by wordpress already, but it just can’t use the 404.php in the default template.
Anyone can help?
Remove the
'fastcgi_intercept_errors'
argument from you configuration. It’s unnecessary since'error_page'
declares 404 errors, which should be handled byindex.php
, which will triggerPHP-FPM
to handle it, and WordPress to present your theme’s 404 page.It seems counter-intuitive, but
'fastcgi_intercept_errors'
is actually causing PHP not to handle the error page.