在wordpress中,可以使用url偽靜態來讓地址看起來更好看,也更有利於SEO。但是中文的情況比較讓人頭疼,每次都會跳轉到404頁面。
經過一陣子的度娘和谷歌之后終於找到了完美解決URL中出現中文的辦法:
打開wordpress\wp-includes目錄下的class-wp.php文件。替換一小段代碼即可:
if ( isset($_SERVER['PATH_INFO']) ) $pathinfo = $_SERVER['PATH_INFO']; else $pathinfo = ''; $pathinfo_array = explode('?', $pathinfo); $pathinfo = str_replace("%", "%25", $pathinfo_array[0]); $req_uri = $_SERVER['REQUEST_URI'];
替換為:
if ( isset($_SERVER['PATH_INFO']) ) $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'utf-8', 'GBK'); else $pathinfo = ''; $pathinfo_array = explode('?', $pathinfo); $pathinfo = str_replace("%", "%25", $pathinfo_array[0]); $req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'utf-8', 'GBK');