使用重定向插件将所有带有问号(?)的 URL 重定向到原始 URL

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

我在 Search Console 中有数千个末尾带有问号的网址。我不知道他们从哪里来。

我想将所有此类 URL 重定向到原始 URL。

示例:

https://example.com/mac-keyboard-shortcuts-symbols-pdf/?

https://example.com/mac-keyboard-shortcuts-symbols-pdf/

我尝试了此处给出的解决方案:将问号 URL 重定向到原始 URL

但是没有成功。

wordpress url yoast question2answer redirection-wordpress-plugin
1个回答
0
投票

好的,正如有些人已经指出的那样,它应该来自

.htaccess
。此外,用问号重定向所有内容听起来并不是一个好习惯,因为您可能会丢失 URL 中携带的有用信息。应避免单独重定向,但可以这样做:

add_action('init', function(){
    $incoming = $_SERVER['REQUEST_URI'];
    if( str_contains( $incoming, '?' ) && !is_user_logged_in() ){
        //in localhost you should http:// instead
        $actual_link = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
        $at_index = strpos($actual_link, '?');
        $new_url = substr($actual_link, 0, $at_index);
        
        wp_redirect( $new_url );
        exit();
        
    }

});

我还添加了仅在用户未登录时才起作用的条件,这可能是明智的做法,以避免与管理员发生冲突。 Search Console 无法登录您的网站。请记住我提到的所有原因,即使可能,这也不是最好的主意。祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.