经常会有wordpress用户出现页面打开404的情况,这种情况主要是2个原因:伪静态设置的问题;服务器不支持中文链接导致。伪静态的问题可以到wordpress后台设置-固定链接进行设置,如果依然不行的话可以联系服务器管理员。

如果服务器环境是Windows IIS 7.5的话,可以参考:Windows IIS 7.5 WordPress伪静态中文链接404错误解决办法

WordPress中文链接在某些服务器上面也会出现404的情况,大部分是在windows系统的服务器(所以我们非常不推荐使用windows服务器,坑比较多)。解决这个问题我们建议在固定链接的设置上可以不要选择文章名字的方式,可以选择使用ID,另外页面、分类、标签手动修改别名为英文字母数字等。比较麻烦的就是标签,由于标签的数量会比较多,而且不定期会增加,手动修改会比较麻烦,这里推荐几个插件,可以解决这个问题: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') );

 

注意修改的时候使用专业的代码编辑工具,例如:Dreamweaver、sublime text、notepad++。