zoukankan      html  css  js  c++  java
  • wordpress点击中文tag标签出现404解决方案

    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形式

  • 相关阅读:
    六种常见排序算法的自我研究(冒泡排序,选择排序,快速排序,归并排序,插入排序,堆排序)
    设计模式学习总结(二)工厂模式
    SQL Server Reporting Service(SSRS) 第七篇 常见错误汇总
    SQL Server Reporting Service(SSRS) 第六篇 SSRS 部署总结
    设计模式学习总结(一)简单工厂模式
    设计模式学习总结(三)抽象工厂模式
    设计模式学习总结(四)单例模式
    SQL Server覆盖索引--有无包含列对数据库查询性能的影响分析
    Dev Express Report 学习总结(八)Dev Express Reports 常见问题总结
    docker命令笔记
  • 原文地址:https://www.cnblogs.com/scottpei/p/3173696.html
Copyright © 2011-2022 走看看