wordpress中文標籤、標籤分頁、搜尋分頁404的解決辦法

wordpress中文標籤、標籤分頁、搜尋分頁404的解決辦法

wordpress 中文 404錯誤解決辦法

今天無意間發現,在擺弄自己的部落格網站時,發現標籤目錄分頁後,點選下一頁的時候會出現404錯誤。

待解決標籤過次頁問題後,已能正確顯示後。進一步測試網站時,又發現網站的搜尋結果頁,在過次頁問題上再次出現了404錯誤。

百度了一下這個問題,發現這算是wordpress的一個通病,很多人都遇到了這個問題,但是解決辦法基本上僅適用老版本的wordpress,新版本的已經不能按照教程適用了。

透過多次測試,wordpress4。9。7版本,修改中文標籤、標籤分頁、搜尋分頁404的解決辦法如下:

首先是修改標籤中文404的問題:

找到wordpress網站目錄WP-include/class-wp。php(

需要修改兩處

找到

$pathinfo = $_SERVER[‘PATH_INFO’;

替換為:

$pathinfo = mb_convert_encoding($_SERVER[‘PATH_INFO’], ‘UTF-8’, ‘GBK’);

找到

$req_uri = $_SERVER[‘REQUEST_URI’;

替換為:

$req_uri = mb_convert_encoding($_SERVER[‘REQUEST_URI’], ‘UTF-8’, ‘GBK’);

如果修改正確的話,現在,wordpress網站點選中文標籤已經可以正常顯示頁面,但是如果出現多個分頁,點選下一頁時,依舊會出現404錯誤。

接下來,我們來修改標籤中文分頁404的問題:

找到wordpress網站目錄wp-includes目錄中的link-template。php檔案

找到

$result = $base 。 $request 。 $query_string;

替換為

$result = $base 。 mb_convert_encoding($request, ‘UTF-8’, ‘GBK’) 。 $query_string;

如果修改正確的話,現在,wordpress網站點選中文標籤的過次頁也已經可以正常顯示頁面。

最後,

我們來修改搜尋分頁404的問題:

在當前主題的functions。php檔案第一行程式碼 <?php 下面新增以下程式碼:

function tongleer_search_url_rewrite() {

if ( is_search() && ! empty( $_GET[‘s’] ) ) {

wp_redirect( home_url( “/search/” ) 。 urlencode( get_query_var( ‘s’ ) ) );

exit();

}

}

add_action( ‘template_redirect’, ‘tongleer_search_url_rewrite’ );

自此,如果順利的話,wordpress4。9。7版本已經可以支援中文標籤、中文標籤分頁面、搜尋結果分頁面。

——百花谷部落格2018年7月19日原創,2018年7月20號轉發至頭條號!