[WordPress] 新! 版本4.6.1 解決中文網址會發生 404 錯誤的問題

2016-12-05

之前遇到時沒解決,這次終於解決了! (舒暢~)

請注意,這篇文章發表時的 WordPress 版本為 4.6.1 ,未來的版本可能不一定適用。

可以咕狗到的解決方法大多是以下這樣:

找到 wp-includes/class-wp.php 這隻檔案並以編輯器開啟,分別修改下列兩個地方:

1. 找到這行

$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : '';

替換成這樣

$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? mb_convert_encoding( $_SERVER['PATH_INFO'], 'UTF-8', 'Big5') : '';

2. 找到這行

list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] );

替換成這樣

list( $req_uri ) = explode( '?', mb_convert_encoding( $_SERVER['REQUEST_URI'], 'UTF-8', 'Big5' ) );

大多在這兩個地方修改完就可以正常顯示,但我還是不行阿!終於讓我找到另外的解決辦法!

同樣是 wp-includes/class-wp.php 這隻,找到以下這行(也就是上述解法的第二步):

list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] );

在這行下面加上一行新的程式(不是修改喔!是新增一行):

$req_uri = urldecode($req_uri);

這樣在我的 WordPress 就可以正常顯示中文網址的文章了!感恩~

[注意]
因為是修改 WordPress 的核心檔案,所以未來更新 WordPress 版本時,沒意外的話是會被蓋過去的,如果還是有這個需求的話,請記得更新版本後要再改一次。(當然最好還是官方把這個問題修正啦,非英文語系沒人權哪~)

ref:
wordpress|中文鏈接、tag的404錯誤的最新解決方案

發表迴響

彙整

分類