經(jīng)常會(huì)有wordpress用戶出現(xiàn)頁(yè)面打開404的情況,這種情況主要是2個(gè)原因:偽靜態(tài)設(shè)置的問(wèn)題;服務(wù)器不支持中文鏈接導(dǎo)致。偽靜態(tài)的問(wèn)題可以到wordpress后臺(tái)設(shè)置-固定鏈接進(jìn)行設(shè)置,如果依然不行的話可以聯(lián)系服務(wù)器管理員。
如果服務(wù)器環(huán)境是Windows IIS 7.5的話,可以參考:Windows IIS 7.5 WordPress偽靜態(tài)中文鏈接404錯(cuò)誤解決辦法
WordPress中文鏈接在某些服務(wù)器上面也會(huì)出現(xiàn)404的情況,大部分是在windows系統(tǒng)的服務(wù)器(所以我們非常不推薦使用windows服務(wù)器,坑比較多)。解決這個(gè)問(wèn)題我們建議在固定鏈接的設(shè)置上可以不要選擇文章名字的方式,可以選擇使用ID,另外頁(yè)面、分類、標(biāo)簽手動(dòng)修改別名為英文字母數(shù)字等。比較麻煩的就是標(biāo)簽,由于標(biāo)簽的數(shù)量會(huì)比較多,而且不定期會(huì)增加,手動(dòng)修改會(huì)比較麻煩,這里推薦幾個(gè)插件,可以解決這個(gè)問(wèn)題:Auto Tag Slug、IIS Chinese Tag Permalink。
以上為使用插件的方式,但是由于這兩個(gè)插件都是好多年都未更新了,所以這里再給出一種修改代碼的方式(修改代碼會(huì)被新版本覆蓋,請(qǐng)每次更新留意這個(gè)問(wèn)題)。進(jìn)入wp-includes目錄,找到class-wp.php文件,在第178行和182行找到如下代碼:
將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') );
注意修改的時(shí)候使用專業(yè)的代碼編輯工具,例如:Dreamweaver、sublime text、notepad++。