登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> SoftHub关联区 >> 主题: WordPress 文章自动生成的中文链接无法访问的问题     [回主站]     [分站链接]
WordPress 文章自动生成的中文链接无法访问的问题
clq
浏览(351) - 2018-06-07 19:02:37 发表 编辑

关键字: WordPress

[2018-06-17 21:34:00 最后更新]

WordPress 文章自动生成的中文链接无法访问的问题

--------------------------------------------------
nginx windows 下无效,换 SO Pinyin Slugs 插件
https://www.wpdaxue.com/so-pinyin-slugs.html
--------------------------------------------------

这个问题应该是默认的二进制字节(对于我们一般就 GBK ,所以这个问题据说只有 windows 会有,而 linux 不会有,大概是因为 linux 默认的字符集已经是 utf8 了)
而现在浏览器一般发送的是 utf8 的链接地址,所以我的环境下按以下方法修改后即可以用了。

            //$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : ''; //clq 2018 根据网上的教程,修改支持中文标题生成的默认链接
            $pathinfo = isset( $_SERVER['PATH_INFO'] ) ? mb_convert_encoding($_SERVER['PATH_INFO'], 'utf-8', 'GBK') : ''; //clq 2018 根据网上的教程,修改支持中文标题生成的默认链接
            ......
            ......

            //list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] ); //clq 2018 根据网上的教程,修改支持中文标题生成的默认链接
            list( $req_uri ) = explode( '?', mb_convert_encoding($_SERVER['REQUEST_URI'], 'utf-8', 'GBK') ); //clq 2018 根据网上的教程,修改支持中文标题生成的默认链接



clq  2018-06-07 19:05:31 发表 编辑

根据不同的 wp 版本方法应该是不同的,不过成变不离其宗。
http://www.timle.cn/tag-404-fixed.html


WordPress完美解决中文标签404问题

    Timle.CN | 2015/02/11 |
        Wordpress
    | 2,885 views | 4 Replies |
        4.50 / 5 5
        1 / 5
        2 / 5
        3 / 5
        4 / 5
        5 / 5
    8 票, 4.50 平均等级 ( 90% 分 )

Timle.CN:专注 WordPress建站 、 WordPress主题 和 WordPress插件 分享,同时也关注各种 建站资源 、 前端技巧 、 免费资源 和 IT互联网热点 。CTRL+D即可收藏本站,我们期待您的再次光临!

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') );

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



clq  2018-06-07 19:06:24 发表 编辑

所以也有网友这样说:

在你博客的跟目录下的wp-includes文件夹中找到classes-wp.php(早期的可能是classes.php),然后在这个文件做以下修改。(请先备份)

1.找到代码
$pathinfo = $_SERVER[‘PATH_INFO’];
将其修改为
$pathinfo = mb_convert_encoding($_SERVER[‘PATH_INFO’],”UTF-8″,”GBK”);

2.找到代码
$req_uri = $_SERVER[‘REQUEST_URI’];
将其修改为
$req_uri = mb_convert_encoding($_SERVER[‘REQUEST_URI’],”UTF-8″,”GBK”);

保存后上传覆盖
再点击中文标题链接看看,是不是不再提示404,就可以打开了?关于WordPress 404错误的编码问题只有在Windows环境下才会有,Linux没有发现有这样的问题。


总数:2 页次:1/1 首页 尾页  
总数:2 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1