分类链接突然开始显示404个错误

时间:2010-12-23 作者:robintw

我的Wordpress博客在访问分类页面时突然出现了404个错误。例如http://blog.rtwilson.com/category/tok-related/. 有趣的是,这不会发生在子类别(如GIS和遥感,如上面链接的侧栏所示)中,但会发生在父类别(如学术)和没有子类别(如TOK相关)中。

有人知道为什么会发生这种情况吗?我最近更改了我博客帖子本身的永久链接结构,但没有更改类别。我是否需要以某种方式重建类别列表?如果是,如何?

Update.htaccess文件内容:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

5 个回复
SO网友:markratledge

首先要尝试的是从WordPress管理员那里重新保存永久链接。

并确保您的更改保存到.htaccess. 如果WP警告您.htaccess 不可写,请手动使用FTP更改.htaccess 请将文件发送到644,然后重试。

“那个”文件名前面的内容表示它通常是不可见的文件,因此请检查FTP客户端,确保如果您没有看到.htaccess web目录中的文件。这个.htaccess 文件将与index.php 由“常规选项”页面上的“站点地址(URL)”设置指示的文件。

这是一个标准的WordPress重写块:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
如果出现500服务器错误,则意味着文件的字符编码错误,并且在编辑时/如果编辑时可能已更改。htaccess文件。您可以尝试重命名当前。htaccess文件并使用FTP客户端创建新文件并命名。htaccess。

如果在保存permalinks并看到.htaccess 文件上面有重写块,请尝试添加

global $wp_rewrite; $wp_rewrite->flush_rules();
在主题的功能中。php文件,返回并刷新主页,然后删除代码。这将清除缓存和瞬态中的重写规则。

有更多疑难解答提示和示例,请访问Using Permalinks « WordPress Codex

SO网友:hakre

有人知道为什么会发生这种情况吗?

我没有在那页上看到404错误,但要回答这个问题:我不知道为什么会发生这种情况,或者它不会发生。

我最近更改了我博客帖子本身的永久链接结构,但没有更改类别。我是否需要以某种方式重建类别列表?

每次您在admin中更改permalink结构时,permalinks都会自动重建,因此您无需关心这一点。而且没有重建类别列表这样的事情,所以您不必对此感到奇怪。

SO网友:Joe

我也有同样的问题-我安装了“高级permalinks”插件,但它有一个bug。。。原来评论这一行

$this->add_filter (\'category_rewrite_rules\');
在插件中。最初的答案不是我的(虽然对我有用),而是来自here

SO网友:Pradip Mehta

2015年3月31日,我安装了John Godley的“Advance Permalink”plungin,用于重定向我之前的Permalink结构http://punch2crunch.com

36小时后,我的所有同事开始自动创建404个错误和一个类别的工作,但病态的单一职位。如果同样的情况发生在你身上,那么你只能粘贴一个东西。

按照以下步骤操作:

从仪表板,转到插件,选择编辑器

$this->add_filter (\'post_rewrite_rules\');
$this->add_filter (\'author_rewrite_rules\');
$this->add_filter (\'category_rewrite_rules\');
$this->add_filter (\'rewrite_rules_array\');
  • 只需在$this->add_filter(\'category_rewrite_rules\')前面加两个斜杠即可;如下所示

    $this->add_filter (\'post_rewrite_rules\');
    $this->add_filter (\'author_rewrite_rules\');
    //$this->add_filter (\'category_rewrite_rules\');
    $this->add_filter (\'rewrite_rules_array\');
    
  • 刷新您的网站,一切都将重新开始完美工作。如果没有,那就找其他地方。

    SO网友:Bala

    我也有同样的问题。

    确保Apache重写模块已启用且正确。htaccess文件如果上述步骤不起作用,请转到permalinks设置并输入category base作为“category”,一些SEO插件自己的重写可能会给您带来问题,如果您有任何缓存插件,请清除该问题

    结束

    相关推荐

    WordPress删除wp_List_Categories中最后一项的分隔符

    我正在尝试删除最后一个分隔符(通常是<br/> 标记,但我将其从wp\\u list\\u categories的最后一个链接更改为“/”)。基本上我想要这个:类别1//类别2//类别3//看起来像这样:类别1//类别2//类别3以下是我当前使用的代码:<?php $cat_array = array(); $args = array( \'author\' => get_the_author_meta(\'id\'),&#x