WordPress完美解决伪静态下中文标签404错误

原创 kaixinit  2018-07-29 22:44  阅读 1,223 次

wordpress站点做了伪静态,并定义了固定连接的格式后,会出现中文标签404的问题,其它都正常,就是在wordpress中文tag标签打开是404页面错误。

第一种办法;修改文件代码

由于wp是外国的产品,所以并没有考虑中文标签的兼容性问题,不少朋友都会遇到中文标签404的问题,下面我来分享一下解决这种蛋疼的问题方法。

解决 WordPress 无法打开中文标签链接的文章(服务器支持 UTF-8,不再需要修改文件支持中文链接。)
首先找到wordpress的wp-includes目录下-》class-wp.php文件,进行如下修改即可完美解决。

wp-includes/class-wp.php 153 行:

$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : '';

修改为:

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

wp-includes/class-wp.php 157 行:

list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] );

修改为:

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

通过以上修改,即可完美解决!

第二种办法:安装插件解决

插件名称:Chinese Tag Names

插件作者:Coconut

插件页面:http://nutsland.cn/blog/archives/177.html

当前版本:1.1

适用于Wordpress版本:2.0.2+

下载地址:http://wordpress.org/extend/plugins/chinese-tag-names/

插件说明

在Wordpress中设定了固定链接之后,有时(多见于Win主机)会出现中文标签(Tag)的固定链接不能访问的问题。
即 http://example.com/tag/中文 不能访问,而 http://example.com/?tag=中文 可以访问。

可以通过修改 class-wp.php 的方式来解决,但是每次Wordpress升级都要重新修改一次,比较麻烦。

本插件提供了便捷的解决方法。

现在支持所有包含中文的固定链接了,包括标签、分类、作者存档页面、文章名等,例如:

* http://example.com/tag/中文标签
* http://example.com/category/中文分类
* http://example.com/archives/中文文章名
* http://example.com/archives/author/中文作者名
* http://example.com/中文页面名

本文地址:http://www.kaixinit.com/info/maintenance/762.html
关注我们:请关注一下我们的微信公众号:扫描二维码开心电脑网的公众号,公众号:kaixinit
版权声明:本文为精品文章,由 kaixinit 收集,不代表开心电脑网对观点赞同或支持。欢迎分享本文,转载请保留出处!

发表评论


表情