經(jīng)常會有wordpress用戶出現(xiàn)頁面打開404的情況,這種情況主要是2個原因:偽靜態(tài)設置的問題;服務器不支持中文鏈接導致。偽靜態(tài)的問題可以到wordpress后臺設置-固定鏈接進行設置,如果依然不行的話可以聯(lián)系服務器管理員。

如果服務器環(huán)境是Windows IIS 7.5的話,可以參考:Windows IIS 7.5 WordPress偽靜態(tài)中文鏈接404錯誤解決辦法

WordPress中文鏈接在某些服務器上面也會出現(xiàn)404的情況,大部分是在windows系統(tǒng)的服務器(所以我們非常不推薦使用windows服務器,坑比較多)。解決這個問題我們建議在固定鏈接的設置上可以不要選擇文章名字的方式,可以選擇使用ID,另外頁面、分類、標簽手動修改別名為英文字母數(shù)字等。比較麻煩的就是標簽,由于標簽的數(shù)量會比較多,而且不定期會增加,手動修改會比較麻煩,這里推薦幾個插件,可以解決這個問題:Auto Tag Slug、IIS Chinese Tag Permalink。

以上為使用插件的方式,但是由于這兩個插件都是好多年都未更新了,所以這里再給出一種修改代碼的方式(修改代碼會被新版本覆蓋,請每次更新留意這個問題)。進入wp-includes目錄,找到class-wp.php文件,在第178行和182行找到如下代碼:

wordpress中文鏈接404

將178行修改為:

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

將182行修改為:

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

 

注意修改的時候使用專業(yè)的代碼編輯工具,例如:Dreamweaver、sublime text、notepad++。