[英]Disable 404 Page in Wordpress
我希望用户键入任何URL,例如:
mywebsite.com/helloworld
之后,使用PHP
我想使用slug helloworld
,并将其打印在页面上。
默认情况下,Wordpress显示404页。 我的想法是禁用此页面,但不确定是否有更好的解决方案。
我该如何实现?
add_filter( 'pre_handle_404', function() {
# you can do anything you want here but the easiest and safest is
# wp_redirect( 'your url with query parameters from the failing 404 url' );
# exit();
return FALSE;
} );
404
是许多HTTP状态代码之一 ,因此,如果您完全删除该页面,则需要同时在WordPress和Web服务器(例如Apache或Nginx)上将其禁用。 不建议这样做,因为它会使浏览器显示合法的404,并且具有无法控制/不希望的响应。
如果您的问题是“默认/我的404模板页面很糟糕,我想更改它”,请参考自定义404页面上的Codex页面,或使用众多旨在为错误页面模板的插件之一。
我个人也建议不要将错误页面定向到您选择的页面,例如您的主页。 除了使人们感到困惑的是为什么example.com/helloworld转到example.com之外,这几乎没有什么作用。 从程序员的角度来看,它可能会增加开发时间,因为您可能会发现很难诊断为什么将您重定向到主页,而不是用它来的404
或500
来告诉您不同的信息。
要取消使用@magenta,也可以为此添加条件。 这是我所做的:
add_action( 'pre_handle_404', function() {
global $wp_query;
if(!$wp_query->found_posts){
if($wp_query->query['post_type']=="clients"){
wp_redirect( '/login' );
exit;
}
}
return FALSE;
} );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.