我需要在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/
我需要一些帮助来正确重定向而不会出错。
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,您需要知道:
my-new-urls-for-me
部分)1824
部分)然后重定向成为匹配该slug然后重定向到具有该id的线程的简单问题。
如果您在迁移时没有这样做,则需要立即手动执行 - 生成一个slugs和thread id表,并将其用作重定向脚本的查找。
除非迁移的页面数量不超过几十页,否则我建议不要单独使用.htaccess,而是使用数据库表并编写一个简单的脚本,通过匹配传入的slug进行重定向,找到该条目在表中,在XenForo中检索相应的线程ID,然后重定向到具有该ID的线程。