如何在找不到页面时阻止WordPress重定向

时间:2018-03-22 14:31:02

标签: wordpress apache .htaccess

我正在尝试设置一个合适的404页面,但我很难搞清楚如何删除中间302重定向到我们的404页面。

我查看了我们的.htaccess文件,我们的apache2配置和WordPress设置,我无法弄清楚该怎么做。它之前做过两次重定向(302到301到404),直到我将它添加到我们的functions.php文件中:

  

remove_action('template_redirect','redirect_canonical');

但我们仍然看到302到404。

302位置是{example.com} /index.php?page_id=5436

我倾向于这是WordPress重定向到自定义404页面的结果,但肯定有一种正确的方法来处理这个以避免中间件302?

1 个答案:

答案 0 :(得分:0)

[编辑]回复以下评论:

  

有没有办法在没有重定向的情况下提供404页面?

试试这个:

add_action( 'template_redirect', function() {
    if ( is_404() ) {
        include get_query_template( '404' );
        exit;
    }
}, 9 );

这个:(你应该先试试这个)

add_action( 'template_redirect', function() {
    if ( is_404() ) {
        remove_action( 'template_redirect', 'redirect_canonical' );
    }
}, 9 );