Wordpress新页面重定向到旧404页面

时间:2017-08-30 09:03:23

标签: php wordpress .htaccess redirect

我在Wordpress中遇到这个奇怪的问题。如果我创建了一个页面,例如Lead,其中包含一个子弹lead,因此我会创建网址http://example.com/lead。如果我在浏览器中输入网址http://example.com/lead,则会将其重定向到http://example.com/learning/program/lead

我试图用;

禁用wordpress自动重定向功能
remove_filter('template_redirect', 'redirect_canonical');

但这似乎不起作用。即使两页都不存在,我最终也会这样; http://example.com/learning/program/lead

4 个答案:

答案 0 :(得分:1)

我认为你已经安装了任何重定向插件并设置了重定向,否则301重定向。

答案 1 :(得分:0)

请更新永久链接设置。希望你的问题能够得到解决。

答案 2 :(得分:0)

You should try with another browser, 301 is a permanent redirection and it can be difficult to get rid of it. In firefox you have to clear the network cache, in the networking settings of firefox.

答案 3 :(得分:-1)

我怀疑这种情况正在发生,因为WP数据库仍然包含您已删除的旧lead slug的信息。

更改slug时,旧的固定链接仍然存储在数据库中,如果要重用该名称,可能会导致问题。

  1. 检查您的已删除邮件:确保帖子/页面/类别/已删除但未放入您的垃圾箱 - 如果帖子仍在垃圾箱中,WP仍在处理使用中的slu ..

    从垃圾箱中永久 后删除:

  2. 刷新您的重写缓存:有Three Ways to Flush the Rewrite Cache in WordPress

    • 在管理员
    • 中重新保存固定链接
    • 在你的functions.php中调用flush_rewrite_rules();(暂时只添加 - 你不希望它一直运行)。
    • 从数据库中删除缓存:在数据库中运行以下查询:
      SELECT * FROM wp_options WHERE option_name = 'rewrite_rules'
      您应该只获得1个结果 - 编辑它以删除option_value。有关详细信息,请参阅Three Ways...

  3. 清除浏览器缓存&缓存插件
    注意:某些安全插件也使用缓存,例如Securi,所以也检查一下。

  4. 删除旧的WP永久链接
    如果它仍然无效,请在数据库中运行此查询以清除postmeta表中的所有旧slugs:
    DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug';

    参考'Remove Old Permalinks?'

    注意:在您直接进行任何更改之前备份数据库 - 任何错误都可能会破坏您的网站。