我在 Search Console 中有数千个末尾带有问号的网址。我不知道他们从哪里来。
我想将所有此类 URL 重定向到原始 URL。
示例:
https://example.com/mac-keyboard-shortcuts-symbols-pdf/?
到
https://example.com/mac-keyboard-shortcuts-symbols-pdf/
我尝试了此处给出的解决方案:将问号 URL 重定向到原始 URL
但是没有成功。
好的,正如有些人已经指出的那样,它应该来自
.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 无法登录您的网站。请记住我提到的所有原因,即使可能,这也不是最好的主意。祝你好运!