2014-11-22 86 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