WordPress中文tag标签出现404解决方案

WordPress搭建的博客或网站常出现一个问题就是中文tag链接不存在,google管理员工具提示抓取404错误,特别是Windows主机常出现中文标签链接抓取错误,中文标签不能正常显示;或者中文标签能够正常显示,但是点击链接后即出现404错误,给用户带来非常大的不便,极大降低了网站的友好性。

该怎样解决这个问题呢?

404

  • 第一种方法:

打开 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”文件中我们找到如下代码:

function 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

这个方法我没有测试,所以不能保证是否可用,修改前请备份!

  • 第三种方法:

如果以上两种方法都不可行,再给大家推荐一种方法:给每个tag打上别名。

“别名” 是URL友好的另外一个名称。它通常为小写并且只能包含字母,数字和连字符。

但对于上百个以上中文Tags标签的博客,此种方法工作量巨大。慎用。

这种方法对英文tag可以正常链接但是中文tag出问题的网站管用,对英文tag链接404的网站没用。

转载请注明: 等英博客 » WordPress中文tag标签出现404解决方案

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WordPress 结合 BuddyPress 的环境中,遇到注册页面(通常指用户注册或登录页面)404问题可能是由以下几个原因引起的: 1. **URL结构错误**:确保 WordPress 主题中的注册 URL 指向了正确的 BuddyPress 插件文件。通常,这可能是 `bp-login.php` 或者自定义的登录模板。 2. **插件冲突**:有些插件可能会影响到 BuddyPress 的功能,检查是否有插件与 BuddyPress 或默认的 WordPress 登录功能不兼容。 3. **未激活插件或主题**:BuddyPress 需要与合适的 WordPress 主题和插件一起工作,确保它们都已正确激活。 4. **BuddyPress 设置**:在 wp-admin 中,前往 Users -> Settings -> Registration 页面,确认是否正确配置了用户注册设置,包括重定向和默认页面。 5. **代码问题**:如果使用了自定义代码或主题模板,可能存在误删、路径错误或代码冲突导致的404。 6. **服务器配置**:有时,服务器防火墙或.htaccess 文件设置可能阻止了对注册页面的访问,检查这些设置。 为了解决这个问题,你可以尝试以下步骤: 1. **检查URL**:确保 URL 没有错别字,使用浏览器开发者工具检查请求路径。 2. **更新插件和主题**:确保所有插件和主题都是最新版本。 3. **禁用/启用插件**:临时禁用除BuddyPress 和必要主题外的所有插件,看问题是否依然存在。 4. **复原设置**:如果使用过自定义配置,尝试还原到默认设置。 5. **查看日志**:查阅网站服务器日志,寻找关于404的详细信息。 6. **寻求专业帮助**:如果以上步骤都无法解决问题,可能需要联系开发者或寻求技术支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值