TypeCho转WordPress之后,发现点击中文tag出现404页面,也就是点击无效了。试了几种修改链接样式,都没效果。也尝试了各种网上找的3中方法:

第一种方法:打开 WP-include/classes.php(3.1之前版本)或WP-include/class-wp.php(3.1+之后版本,下文称新版)找到第154行(新版为142行),把:

$pathinfo = $_SERVER['PATH_INFO';

替换为:

$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK');

找到第159行(新版为147行),把:

$req_uri = $_SERVER['REQUEST_URI';

替换为:

$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'UTF-8', 'GBK');

已经测试这个是可以的

第二种方法:1、在网站的根目录的wp-includes文件夹中找到“rewrite.php”这个文件;2、备份一下“rewrite.php”,以防修改出错(改代码之前我们都最好备份一下原代码);3、打开“rewrite.php”文件中我们找到如下代码:

1function get_tag_permastruct() {if (isset($this->tag_structure)) {return $this->tag_structure;}if (empty($this->permalink_structure)) { //修改这句$this->tag_structure = '';return false;}if (empty($this->tag_base))$this->tag_structure = $this->front . 'tag/';else$this->tag_structure = $this->tag_base . '/';$this->tag_structure .= '%tag%';return $this->tag_structure;}

4、将其中的

" if (empty($this->permalink_structure)) { ”修改为“ if (! empty($this->permalink_structure)) { ";

注意这个里面只加了一个英文“!”号,经测试,使用的这个方法非常有效。PS.直接没找到这个文件内说的这段代码。。。

第三种方法:最后解决中文TAG 404错误的方法,其实说到底就是ISAPI_Rewrite伪静态的规则没有写好才导致找不到网页文件的。其实就是更改一下规则就可以了:之前的tag伪静态的规则

RewriteRule /tag/(.*)$ /index\.php\?tag=$1

更改后的规则

RewriteRule /tag/(.*)/$ /index\.php\?tag=$1

WordPress中文标签Tags分页打不开解决办法

问题描述:

设置了伪静态以后,对于中文的支持就很容易出现乱码,除了常见的utf-8更改格式以外。有一些插件仍然会出现bug。

这里出现的问题就是中文tag,分页会出现404或者好似500错误。牵扯到的插件是wp-pagenavi。

解决方法:

解决wp-pagenavi插件中文tags分页问题

方法一:修改wp-pagenav文件

1、备份你的wp-pagenav分页插件,形成良好的备份习惯。这里只需要对wp-pagenavi.php文件操作,如果你懒干脆只备份此文件。

2、用FTP软件,二进制方式下载wp-pagenavi.php文件到本地,使用Editplus或Dreamweaver打开文件。搜索下面代码(大约170行):

1return "<a href='" . esc_url(get_pagenum_link($page)) . "' class='$class'>$text</a>";

3、在此句前加“#”,或用“/**/”把词句包含,注释掉此段代码。另起一行,加入如下代码:

1return "<a href='" . esc_url(mb_convert_encoding(get_pagenum_link($page), "UTF-8","GBK")) . "' class='$class'>$text</a>";

4、保存文件,并上传到服务器,测试你的Tags分页是否可用。我的Tags:网站优化,截止目前为止有10个。

方法二:给中文标签写上别名

登录wordpress后台,在文章标签里。给每一个含中文的Tags标签,加上一个标签别名。“别名” 是URL友好的另外一个名称。它通常为小写并且只能包含字母,数字和连字符。

对于上百个以上中文Tags标签的博客,此种方法工作量巨大。我看了就头疼,因此选用了第一种方法。

这里不想去改代码直接给标签加上非中问的别名就可以解决了,且可以有更好的URL形式

wordpress点击中文tag标签出现404解决方案的更多相关文章

  1. 若依 | 点击顶部 tag 标签不自动刷新

    需求场景 之前:只要点击若依顶部的标签,页面都会自动刷新. 问题:A 页面有查询结果,切换到 B 页面查看信息,再切回 A 页面,则 A 页面的查询结果不会保留. 需求:点击标签,页面不自动刷新,或者 ...

  2. Nginx配置https的wordpress站点,wp-content目录下资源404解决方案

    wordpress 下配置 ssl证书, server { listen ; server_name demo.example.com; ssl on; root /data/; ssl_certif ...

  3. WordPress教程之如何批量删除未引用(无用)的TAG标签

    WordPress文章与标签的关系 在WordPress中添加标签是非常方便的,只需要在写文章时在侧栏标签处添加一下就会自动在后台增加标签(所以你是不是也跟缙哥哥一样每篇文章都增加标签呢),不像分类目 ...

  4. 针对CMS中的tag标签理解

    针对CMS的tag标签有以下解释: 什么tag标签? TAG标签是一种由自定义的一种标签,要比分类更加的准确,可以概括文章主要内容的关键词. 运用TAG标签,可以使网站的文章更容易被搜索引擎检索到.百 ...

  5. 一行JS代码,解决DedeCMS TAG标签错误输入符号问题

    在维护内容的时候, Tag标签输入经常要来回切换输入法,  只能通过','号分隔.  中文用户, 输入法出来的经常是全角的, 经常弄错, 增加了检查的工作量,  现在只要一句JS代码, 就自动替换所有 ...

  6. dede tag标签静态化

    看回那2个文件夹即可,txt说明书我已经修改过. 下面说一下tag标签静态化之后在内容页.列表页中如何使用. 内容页中沿用之前的方法即可: {dede:tag sort='new' getall='0 ...

  7. DedeCms织梦发布文章时输入Tag标签逗号自动变成英文标点的方法

    把TAG标签的间隔号由空格改为英文的逗号,这样使得经常原创文章的站长朋友非常不方便,因为我们输入汉字时总是喜欢使用全角的逗号,那么有没有办法使用 js脚本把输入的中文逗号变成英文逗号呢?当然是可以的! ...

  8. 使用tag标签是SEO优化的重要性是什么?

    使用tag标签是SEO优化的重要性是什么? tag标签是一种SEO技术,在网站优化的过程中,更准确.更具体地用关键词对文章进行分类,对SEO优化具有重要的作用. 但是,很多新人站长在发表文章时不太注意 ...

  9. Vue + Element-ui实现后台管理系统(3)---面包屑 + Tag标签切换功能

    面包屑 + Tag标签切换功能 有关后台管理系统之前写过两遍博客,看这篇之前最好先看下这两篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-system 1.V ...

随机推荐

  1. anaconda使用以及创建python3.7+pytorch1.0虚拟环境以及Jupyter notebook初级使用

    查看所有已安装的软件包$ conda list# packages in environment at S:\Users\jiangshan\Anaconda3:## Name Version Bui ...

  2. golang 文件服务器

    在go语言中可以用一句代码做一个文件服务器.如果有很多文件需要通过网页来供其他人下载,可以使用这个方法. package main import ( "log" "net ...

  3. cURL函数库错误码说明之PHP curl_errno函数

    背景概述:游戏接口是使用PHP cURL扩展进行请求操作.但是,被请求的服务器经常会无故的不响应或者超时.总之,就是请求之后收不到响应回来的数据.这时候可不能说对方API接口有问题,或者,服务器有故障 ...

  4. 牛掰本机限速软件appband

    带宽调度器AppBand可以为Windows应用程序分配网络带宽并指定数据收发的优先级,用软件的方式实现桌面应用的简单QOS调度.(1) P2P方式的下载软件(BT/eMule/迅雷等)或者在线播放占 ...

  5. MapReduce -- 最短路径

    示例: 给出各个节点到相邻节点的距离,要求算出初始节点到各个节点的最短路径. 数据: A (B,) (D,) B (C,) (D,) C (E,) D (B,) (C,) (E,) E (A,) (C ...

  6. mssql2012的分页查询

    sql2102支持的分页查询 注意:以下都是先执行排序,再取行数据 select* from t_workers order by worker_id desc offset 3 rows   --先 ...

  7. debian系统下改语言设置

    debian系统下改语言设置 安装debian 的时候选择了中文zh_CN_UTF-8,然后进系统后想换成en_US_UTF-8 可以使用一下命令选择:找到需要的语言 确定即可 dpkg-reconf ...

  8. 2_C语言中的数据类型 (九)数组

    1          数组 1.1       一维数组定义与使用 int array[10];//定义一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型的 array[0] = ...

  9. ubuntu12.04安装OVS

    1.下载openVswitch ovs官网 2.运行如下脚本 #!/bin/bash cd /home/sdn/ovs/openvswitch- rm /usr/local/etc/openvswit ...

  10. CTE 递归查询全解

    TSQL脚本能实现递归查询,用户使用共用表表达式 CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询.本文详细介绍CTE递归调用的特性和使用示例,递归查询 ...