如何重定向不返回结果的 (301) 搜索结果页面


How to redirect (301) search results page which do not return results

我试过这个:

<?php wp_redirect( 'http://www.example.com', 301 ); exit; ?>

不工作。Javascript重定向是有效的,但毕竟它是用户端重定向而不是服务器端重定向。我想知道如何进行 301 永久重定向而不是显示"未找到结果"。

也请让我知道在搜索中放置代码的位置.php。(现在,我把它放在<?php else : ?>之后)

谢谢。

对于像 404 这样的页面响应和任何其他尝试这个。

if(isset($imported_post)){
        wp_redirect($post_link, 301); exit;
    }
    else{ // No match, generate 404
        global $wp_query;
        $wp_query->is_404 = true;
}

将旧页.php代码替换为重定向到新页.php的代码。
所以在你的情况下,如果你想一个新的搜索.php代码你应该有两个PHP文件。首先是包含以下代码的旧搜索.php然后是应在链接中指定的新搜索.php代码。

---旧搜索.php---

<?php
// PHP permanent URL redirection
header("Location: http://www.yourdomain.com/new-search.php", true, 301);
exit();
?>

有关更多信息(不同的方式),请访问此链接