【问题标题】:404 Page is generated instead of proper 301 redirect to new post生成 404 页面而不是正确的 301 重定向到新帖子
【发布时间】:2013-12-15 04:54:27
【问题描述】:

我仅将永久链接从 /%postname%-%post_id%/ 更改为 /%postname%/。但问题是我无法将 301 旧永久链接重定向到新永久链接。

我搜索了谷歌,发现 this plugin 将旧的永久链接重定向到新的永久链接。当我检查 HTTP 响应标头时,它还显示旧页面被重定向到新页面,但实际上在内容中它显示 404 页面。这里是the example page

即使我尝试在 Google 网站管理员工具中获取页面,机器人也无法获取旧页面。

有什么办法可以解决这个问题吗?

【问题讨论】:

    标签: php .htaccess redirect wordpress


    【解决方案1】:

    如果您使用 Apache 服务器,最快的方法就是在您的 .htaccess 文件中添加一些重定向。 您可以通过编写一些 sql 查询轻松地填充旧链接的 url 列表。

    .htaccess

    # BEGIN FIX URL
    Redirect /my-sample-post-100 /my-sample-post/
    Redirect /my-2nd-sample-post-101 /my-2nd-sample-post/
    ...
    etc
    # END FIX URL
    

    【讨论】:

    • 我的博客包含大约 1000 篇文章。我可以把它们都写在 .htaccess 中吗??
    • 通过mysql查询填充:
    • 是的,你可以。许多网站都有很大的.htaccess。它比请求启动本身要快得多。确保将它们添加到 .htaccess 文件的顶部。 SELECT CONCAT('Redirect /', post_name, '-',ID, '/ /', post_name, '/') FROM wp_posts WHERE post_type = 'post' AND post_name != ''
    • 谢谢。我可以根据发布日期从 This.Date (09-12-2009 etc) 到 THAT.DATE (10-08-2012) 选择帖子吗?或者,如果您可以修改上述查询,使其根据发布日期输出帖子。目前它根据修改日期填充。
    • 顺便说一句,我不需要在“重定向”之后写 301 吗?
    猜你喜欢
    • 2014-09-29
    • 2012-04-13
    • 1970-01-01
    • 2020-03-08
    • 2015-07-14
    • 2017-08-07
    • 2010-12-06
    • 2013-07-25
    • 2013-06-22
    相关资源
    最近更新 更多