【问题标题】:Redirect Wordpress date permalinks to folder将 Wordpress 日期永久链接重定向到文件夹
【发布时间】:2016-11-07 14:52:50
【问题描述】:

我们正在将我们的网站从 Wordpress 迁移到另一个博客,并且我们正在寻找一种方法来将使用 /blog/date/title 的“旧” URL 结构的所有用户重定向到新的 /blog/title 结构。有超过 2000 个帖子,所以我真的不想手动做这些!

例如,当前 URL 可能是:

http://www.example.com/blog/2013/06/this-is-the-title/

我们希望将其重定向到:

http://www.example.com/blog/this-is-the-title/

结构永远是

/blog/yyyy/mm/title 

是否可以使用 htaccess 忽略部分 url,还是需要使用正则表达式来查找日期模式?

【问题讨论】:

    标签: wordpress .htaccess redirect


    【解决方案1】:

    假设,2 个不同的帖子不可能有相同的 slug,我认为这是 wordpress 中给出的。

    在我看来,有两种方法可以做到这一点:

    1:为此使用简单的 htaccess 重定向。现在,我不是 htaccess 方面的专家,但我认为它是这样的:

    RewriteRule ^blog/(\d{4})/(\d{2})/(.+)$ /blog/$3 [L]
    

    2:这个,有点棘手,但可以根据你的需要得到灵活的结果。由于旧 URL 不存在,它们会导致 404 页面。现在,制作该 404 页面,以便在其中搜索帖子,如果找到匹配项,则将用户重定向到该页面,而不响应 404 状态。如果他们不匹配,您可以向他们展示最受欢迎/最相似的结果等。我不明白为什么人们会更频繁地这样做。根据您的查询显示建议在 404 页面上应该很常见。

    如果您需要更多帮助,请告诉我。

    【讨论】:

      【解决方案2】:

      您可以将此重定向规则用作旧站点上站点根目录 .htaccess 中的第一条规则:

      RewriteEngine On
      
      RewriteCond %{REQUEST_URI} ^/(blog)/\d+/\d+/(.+)$ [NC]
      RewriteRule ^ /%1/%2 [L,R=301,NE]
      

      【讨论】:

        猜你喜欢
        • 2013-08-14
        • 2016-02-11
        • 2017-12-20
        • 2017-04-19
        • 2015-12-04
        • 1970-01-01
        • 2017-05-03
        • 2015-11-08
        相关资源
        最近更新 更多