404重定向在哪里发生?

时间:2011-06-16 作者:Ravichandran Jothi

有人能告诉我404重定向发生在哪里吗?

我想重定向到自定义模板。php而不是404页面。

这可能吗?如果是的话,有人能给我一个解决方案吗。

ThanksRavi公司

4 个回复
SO网友:TheDeadMedic

根据你的评论,我想我明白你的意思了。但是,您不想在404上重定向,因为它会破坏“找不到”标题的对象。

但是,您可以过滤404模板路径并传回您自己的路径;

function __custom_404( $standard_404 )
{
    if ( something_is_true() )
        return \'/absolute/path/to/custom.php\';
    return $standard_404;
}
add_filter( \'404_template\', \'__custom_404\' );

SO网友:xLRDxREVENGEx

从死亡医学中心出发,您可以尝试以下方法:

这不是百分之百有效

function wpse_20157_404( $standard_404 ) {  
    if ( is_single() || is_tag(\'whatever\',\'product\' && is_404()) ) // Use || to list multiple if\'s
        include_wordpress_template(TEMPLATEPATH . \'/custom404.php\');
}
add_action( \'template_redirect\', \'wpse_20157_404\' );
或者我的原始答案

function wpse_20157_404( $standard_404 ) {  
    if ( is_single() || is_tag(\'whatever\',\'product\') ) // Use || to list multiple if\'s
        include_wordpress_template(TEMPLATEPATH . \'/custom404.php\');
}
add_filter( \'404_template\', \'wpse_20157_404\' );

SO网友:Bainternet

在404的顶部。php添加:

if ($_SERVER[\'HTTP_REFERER\'] == "Whatever"){
    include(\'another.php\');
    break;
}

SO网友:Elpie

由于404发生在服务器上,因此将404重定向到WordPress’404之外的最佳方式。php是通过将此添加到。站点根目录下的htaccess文件。

  ErrorDocument 404 /relative/path/to/404page
这必须是相对路径,而不是绝对路径。

结束

相关推荐

如何从Pages表中删除行操作?

我已经知道了here 如何在wordpress admin中从posts表中删除行操作。现在,我想在pages表中执行同样的操作。我查过核心文件,但我就是不明白。任何人下面是函数中使用的代码。php删除帖子中的行操作:function remove_row_actions( $actions ) { if( get_post_type() === \'post\' ) unset( $actions[\'edit\'] ); unse