Wordpress网址到Xenforo网址 - 通过htaccess重定向

问题描述 投票:0回答:1

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

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

wp旧网址:

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

xenforo新网址:

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

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

wordpress url-redirection xenforo
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的线程的简单问题。

如果您在迁移时没有这样做,则需要立即手动执行 - 生成一个slugs和thread id表,并将其用作重定向脚本的查找。

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

© www.soinside.com 2019 - 2024. All rights reserved.