【问题标题】:Wordpress Redirect old URL to newWordpress 将旧 URL 重定向到新 URL
【发布时间】:2020-01-29 06:28:52
【问题描述】:

我想将我的旧网站帖子重定向到新网站。我不能一一写,因为有1000多个帖子。主要问题是新网址在帖子名称后有帖子 ID。

旧网址

https://www.old.com/economy/test-test/

新网站网址

https://www.new.com/test-test-2001/

我试过了,但无法正确添加帖子 ID

RewriteRule ^economy/(.*) https://new.com/$1-2001 [R,L]

【问题讨论】:

  • “主要问题是新网址在帖子名称后有帖子 ID。” - 什么,所有 的帖子 ID 相同?很可能不是,这意味着你不能在这个级别上“动态地”执行此操作,服务器此时无法“猜测”,对应于 test-test 的帖子 ID 应该是 @ 987654325@.
  • 为什么不这样呢? RewriteRule ^economy/test-test/(.*) https://new.com/test-test-2001/$1 [R,L]。应该处理家庭 URL 后面的任何内容。

标签: wordpress .htaccess redirect


【解决方案1】:

您没有说明“错误”到底是什么,但从给出的示例 URL 中 - 它以斜杠结尾 - 您的指令将导致重定向到 /test-test/-2001,这与预期的 URL 不同/test-test-2001/(您还缺少指令中的尾部斜杠)。

请尝试以下操作 - 如果还没有的话,这需要在 WordPress 前端控制器之前进行。

RewriteRule ^economy/([^/]+) https://new.com/$1-2001/ [R,L]

但是,如果 2001 是与“test-test”的这篇文章标题(slug)特别相关的文章 ID,那么你不能做在.htaccess 中像这样的“通配符”重定向,因为所有对/economy/<something>/ 的请求都会自然地重定向到/<something>-2001/

如果是这种情况,那么这可能最好在 WordPress 本身中完成(为了不影响网站访问者而延迟处理)。否则,您将需要为每个帖子创建单独的重定向。例如:

RewriteRule ^economy/(test-test) https://new.com/$1-2001/ [R,L]

如果帖子标题在新网站上相同,$1 反向引用只会节省重复。

【讨论】:

    猜你喜欢
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 2022-01-12
    • 2012-09-08
    • 2019-08-15
    相关资源
    最近更新 更多