WordPress 3.1.2 永久链接断开


Wordpress 3.1.2 Permalinks Broken

我有一个全新安装的WordPress 3.1.2(未升级,但全新安装),不包含任何插件。

我似乎从谷歌上搜索了一个相当普遍的问题,但我找不到适合我的解决方案。

我有一个自定义分类法和一个自定义帖子类型正在运行,我的函数中的代码.php:

register_post_type( 'product', array(
    'labels' => array(
        'name' => __( 'Products' ),
        'singular_name' => __( 'Product'),
        'add_new_item' => __( 'Add New Product'),
        'add_new' => __( 'Add a Product'),
        'edit_item' => __( 'Edit Product'),
        'new_item' => __( 'New Product'),
        'view_item' => __( 'View Product'),
        'search_items' => __( 'Search products' ),
        'not_found' => __( 'No products found' ),
        'not_found_in_trash' => __( 'No products found in Trash' )
    ),
    'public' => true,
    'supports' => array(
        'title',
        'editor'
    ),
    'has_archive' => true,
    'can_export' => true
));
register_taxonomy( 'product_category', 'product', array(
    'hierarchical' => true,
    'labels' => array(
        'name' => 'Product Categories',
        'singular_name' => 'Product Category',
        'search_items' =>  __( 'Search Product Categories' ),
        'all_items' => __( 'All Product Categories' ),
        'parent_item' => __( 'Parent Product Category' ),
        'parent_item_colon' => __( 'Parent Product Category:' ),
        'edit_item' => __( 'Edit Product Category' ), 
        'update_item' => __( 'Update Product Category' ),
        'add_new_item' => __( 'Add New Product Category' ),
        'new_item_name' => __( 'New Product Category Name' ),
        'menu_name' => __( 'Product Categories' ),
    ),
    'public' => true,
    'rewrite' => array(
        'hierarchical' => true
    )
));

问题是,当我转到product_category存档页面(例如 http://example.com/dairy-industry)时,我得到的是 404。我已经尝试过一些修复方法,包括

  • register_taxonomy代码上rewrite参数的每个组合
  • 重新保存永久链接
  • 关闭永久链接,保存,然后再次打开它们
  • 以上,但首先从服务器中删除 .htaccess 文件
  • 以上,但首先从wp_options表中删除rewrite_rules选项
  • 设置了类别库和标签库选项(和空白)

我的主题中也没有$wp_rewrite->flush_rules()。

最令人沮丧的是,在我的修复过程中的不同时间,并且没有我可以识别的模式,自定义分类存档页面将再次开始工作,但常规页面将开始给我 404。它们永远不会同时工作,我无法弄清楚哪些步骤可以重复地使一个或另一个工作。这似乎是完全随机的。

为了进一步的有趣,当自定义分类存档页面不起作用时,其中一个(dairy-industry)重定向到一个名称相似但不同的(2011/04/dairy-industry-products)帖子的slug,然后给我一个404。

我很乐意分享任何可能有用的代码,请询问。

谁能帮我弄清楚这个令人困惑的难题?

对我来说帮助了这个答案:word-press-permalinks-broken-fro-category-and-tags-404-error-page-not-find

只需检查您的插件,如果您有"简单标签"或"多页工具包"编辑插件,然后替换:

$wp_rewrite->flush_rules();

跟:

/* $wp_rewrite->flush_rules(); */

之后,转到您的永久链接页面并更新它们...两次。作为魅力工作。

我以前遇到过一些问题。我发现,如果您有一个与其中一个页面块同名的自定义帖子类型,可能会导致巨大的问题!这可能是您需要考虑的事情。

我现在使用插件来创建我的自定义帖子类型,因为它为 url 结构内置了字段。这个插件叫做CMS出版社。

我一直遇到这个问题,这个问题仅在从 3.1.2 升级到 3.1.2 后出现(我们跳过了 3.1.1)。我收到自定义帖子类型和任何应用了自定义重写规则(例如自定义提要链接)的 404 响应。

我设法让它在这个插件中运行得相当好:

http://wordpress.org/extend/plugins/wcs-custom-permalinks-hotfix/

但是,我仍然时不时地收到这些页面 404's - 我怀疑何时添加新帖子。发生这种情况时,我可以通过转到永久链接设置页面并简单地点击保存来让它们再次工作。

请务必检查您的 htaccess 规则 - 插件的网站包含大量信息以及针对单站点和多站点设置的推荐 htaccess 规则:

http://wpcodesnippets.info/blog/wcs-custom-permalinks-hotfix.html

当我第一次遇到永久链接的 404 问题时,我很疯狂。它影响了我自己的所有网站和我管理的几个网站。数百人使用了我编码的修补程序功能...然后响应用户的各种特殊情况...我们将其完善为您提到的插件。

原文在这里:http://wpcodesnippets.info/blog/how-to-fix-the-wp-3-1-custom-permalinks-bug.html

我估计此错误已影响数千个WP站点。但是,官方开发人员拒绝在任何后续更新中解决这个问题。幸运的是,该插件应该永久工作。

关于你偶尔为新帖子打404,我特别好奇你是否发现了罪魁祸首。这里有一件事可以尝试。一旦新帖子发生这种情况,请在您通常不使用的浏览器中拉出您的网站......看看你是否可以从那里点击指向新帖子的链接。

当然,修改

或访问永久链接结构的旧插件将需要少量的修改,直到WP决定解决这个问题。

无论如何,我很高兴插件有所帮助。