Warning
在开始之前,我强烈建议您创建child theme 以安全地修改当前使用的主题。这样,如果您需要更新主题,您的更改将不会被覆盖
Modifying your current error page
如果主题已经有自定义错误页,请查找404.php
主题根目录中的文件(/wp-content/themes/your-theme/404.php
) 并将其复制到子主题的文件夹中(/wp-content/themes/your-theme-child/404.php
). 根据您的喜好进行修改
Creating an error page
如果您的主题没有设置404错误页,您可以创建一个,但您可以复制主题的page.php
文件到您的子主题目录并重命名它404.php
(/wp-content/themes/your-theme-child/404.php
) 并根据您的喜好进行修改
如果要覆盖任何其他类型的错误/HTTP状态码,请重复上述步骤,只需重命名文件以反映要创建的错误页类型,例如404.php
或403.php
.
See a list of HTTP Status Codes:
如果您无法创建子主题或不想创建子主题,则始终可以使用插件:
https://wordpress.org/plugins/404page/Sources:NGINXnot 我的专长是使用Apache。请容忍我:
# define error page
error_page 404 = @notfound;
# error page location redirect 302
location @notfound {
return 404 /custom-error-page;
}
在php块中放置fastcgi_intercept_errors
设置为on
location ~ \\.php$ {
include /etc/nginx/fastcgi_params;
# intercept errors for 404 redirect
fastcgi_intercept_errors on;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
有关更多信息,请参阅:https://guides.wp-bullet.com/nginx-redirect-404-errors-to-homepage-wordpress/