2014-11-22 100 views
1

我尝试这样做:如何重定向(301)搜索结果页面不返回结果

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

不工作。 Javascript重定向正在工作,但毕竟它是用户端重定向,而不是服务器端。我想知道如何做301永久重定向,而不是显示'找不到结果'。

请让我知道在search.php中放置代码的位置。 (现在,我正好放在<?php else : ?>之后)

谢谢。

回答

0

用重定向代码将old-page.php代码替换为new-page.php。
所以在你的情况下,如果你想要一个新的search.php代码,你应该有两个php文件。首先,包含以下代码的old-search.php,然后是应该在链接中指定的new-search.php代码。

---老的search.php ---

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

欲了解更多信息(不同的方法)去这个link

+0

不工作。该代码被卡住,并且侧边栏和页脚未加载。 P.S我在“<?php else:?>”和“<?php endif;?>之间放置代码” – 2014-11-22 05:41:43

+0

删除exit()并再试一次。 – Ehsan 2014-11-22 05:53:25

+0

不工作。同样的问题。标题加载,侧边栏和页脚不加载。没有重定向发生。 你确定我应该把这段代码放在php else和php endif之间吗?你能说清楚我应该把你的代码放在search.php中吗?谢谢你的帮助。 – 2014-11-22 06:43:27

0

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

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

无法正常工作。正如我在上面的评论中所说的,我将代码放在“<?php else:?>”和“<?php endif;?>”之间,以便在搜索没有返回结果时触发。 – 2014-11-22 05:43:59