如何将我的网站重定向到我想要的页面而不自动完成?

问题描述 投票:0回答:1

前段时间,我删除了一个在我的网站上添加了“/br/”的插件。

现在只是 www.twodogs.com

我创建了一个重定向,以便 /br/ 的所有内容都被删除,这样旧链接就不会停止工作。

但是当我访问 www.twodogs.com/br

它可以自动完成以 br 开头的博客的结尾 br

示例: 我输入:twodogs.com/br/

网站访问:https://twodogs.com/brasil-caiu-16-posicoes-no-ranking-global-da-felicidade/

我使用代码片段插件在我的网站中创建此代码:

function corrigir_redirecionamento_br() {
 
   if (strpos($_SERVER['REQUEST_URI'], '/br/') !== false) {
       $url_corrigida = str_replace('/br/', '/', $_SERVER['REQUEST_URI']);

       wp_redirect(home_url($url_corrigida), 301);
       exit();
   }
}

add_action('template_redirect', 'corrigir_redirecionamento_br');
php wordpress .htaccess
1个回答
0
投票

我认为您可能正在寻找

redirect_canonical
。以下代码尚未经过测试,但我相当确定它至少在语法上是正确的。

add_filter( 
    'redirect_canonical',
    static function ( $redirect, $requested_url ) {
        
        if($path = parse_url( $requested_url, PHP_URL_PATH)){
            if(str_starts_with($path, '/br')){
                return false;
            }
        }

        return $redirect;
    },
    10,
    2
);

或者,您可以关闭猜测机制:


add_filter( 'do_redirect_guess_404_permalink', '__return_false' )
© www.soinside.com 2019 - 2024. All rights reserved.