0

在 wp 迁移后,我需要将所有旧 url 重定向到 xenforo,我已经这样做了,但没有工作。

当它将旧 url 重定向到我的新 xenforo 时,它会导致“未找到”错误,因为 xenforo 的所有 url 在 url 的末尾都有数字或 id。

wp旧网址:

https://www.example.com/posts/my-new-urls-for-me/

xenforo 新网址:

https://www.example.com/threads/my-new-urls-for-me.1824/

我需要一些帮助才能正确重定向而不会出错。

4

1 回答 1

1

XenForo URL 依赖于 URL 末尾的数字 ID。

所以在你的例子中,https://www.example.com/threads/my-new-urls-for-me.1824/......1824这是重要的。

my-new-urls-for-me部分无关紧要,您可以从字面上拥有https://www.example.com/threads/any-thing-you-like-in-this-part.1824/并且它仍然会重定向到同一个线程,只要最后的数字部分是完整的。

更具体地说,您也可以https://www.example.com/threads/1824/只使用数字部分,它仍然可以工作。

你不能做的是依赖文本部分——而不是没有自定义编码。

要从 WordPress URL 重定向到 XenForo URL,您需要知道:

  1. 原始的 WordPress slug(my-new-urls-for-me部分)
  2. 移动到的相应 XenForo 线程 ID(1824部分)

然后重定向就变成了一个简单的匹配那个 slug 然后重定向到一个具有那个 id 的线程的事情。

如果您在迁移时没有这样做,那么您现在需要手动进行 - 生成一个 slug 和线程 ID 表,并将其用作重定向脚本的查找。

除非迁移的页面不超过几十个,否则我建议不要尝试单独使用 .htaccess,而是使用数据库表并编写一个简单的脚本,该脚本通过匹配传入的 slug 来执行重定向,找到该条目在表中,检索 XenForo 中相应的线程 ID,然后重定向到具有该 ID 的线程。

于 2018-09-19T05:00:45.177 回答