1、在WordPress的wp-includes目录下的class-wp.php文件中找到以下代码(WordPress4.7之前大概在155行,WordPress4.7现在在178行):
$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : '';
直接修改为:
$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK') : '';
2、继续在wp-includes目录下的class-wp.php文件找到以下代码(WordPress4.7之前大概在159行,WordPress4.7现在在182行):
list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] );
直接修改为:
list( $req_uri ) = explode( '?', mb_convert_encoding($_SERVER['REQUEST_URI'], 'utf-8','GBK') );
改完如下图:
基本上通过以上两步修改就可以解决这个问题了,经本人亲测,本方法可用,新版本的语句与以上可能有出入,但是方法基本相同的,将其中的相应语句替换即可。
3、还是没有解决这个问题,你会发现别人的wp博客多了,很多都是html的,就想着静态化,毕竟还是控制不了自己折腾的癖好,就想着先伪静态吧。
登录你的WordPress,点击左侧菜单设置选项下固定链接,如下图所示:
WordPress已经给出了几种URL伪静态形式,但都不很理想,我们希望的URL形式为:
域名/分类别名/文章ID.html
那么,如上图所示,选择自定义结构选项,填写:
/%category%/%post_id%.html
如果你对这种形式不满意,可以自定义任意形式,只要合理搭配参数即可,可以使用的参数如下:
%year%:文章发表的年份,四位数字,如2012
%monthnum%:文章发表的月份,如08
%day%:文章发表的日期,如28
%hour%:文章发表的时间(小时),如15
%minute%:文章发表的时间(分钟),如18
%second%:文章发表的时间(秒),如28
%postname%:文章别名,在发表文章时可以设置。
%post_id%:文章的ID,如68
%category%:分类别名,在添加分类时可以设置。
%tag%:标签的别名,在添加标签时可以设置。
设置好后,有的Linux主机允许程序自动创建.htaccess文件,但有的Linux主机不支持,此时,就需要我们手工上传.htaccess文件。将以下代码复制到记事本,保存为.htaccess。
文章评论
Hi, glad that i saw on this in bing. Thanks!