URL-адреса WordPress к URL-адресам Xenforo - Перенаправление через htaccess - PullRequest
0 голосов
/ 19 сентября 2018

Мне нужно перенаправить все мои старые URL-адреса в xenforo после миграции wp, я делаю это, но не работает.

Когда он перенаправляет старые URL-адреса в мой новый xenforo, это вызывает ошибку "notнайдено "потому что все URL-адреса xenforo имеют номера или идентификаторы в конце URL-адресов.

wp старые URL-адреса:

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

новые URL-адреса xenforo:

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

Мне нужна помощь, чтобы правильно перенаправить без ошибок.

1 Ответ

0 голосов
/ 19 сентября 2018

URL-адреса XenForo основаны на числовом идентификаторе в конце URL-адреса.

Итак, в вашем примере 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/ только с числовой частью, и она все равно будет работать.

Чего вы не можете сделать, так это полагаться на текстовую часть - не без пользовательского кодирования.

Для перенаправления с URL-адреса WordPress наURL-адрес XenForo, вам нужно знать:

  1. исходный слаг WordPress (часть my-new-urls-for-me)
  2. соответствующий идентификатор потока XenForo, на который он был перемещен (1824part)

Тогда перенаправление становится простым вопросом сопоставления этого слага, а затем перенаправления в поток с этим идентификатором.

Если вы не делали этого во время миграции, вам нужно будет сделать это вручную сейчас - сгенерируйте таблицу слагов и идентификаторов потоков и используйте ее в качестве поиска в вашем скрипте перенаправления.

Если не было перенесено не более нескольких десятков страниц, я предлагаю не пытаться делать это только с помощью .htaccess, а вместо этого использовать таблицу базы данных и написать простой скрипт, который выполняет перенаправление, сопоставляя входящий слагнайти эту запись в таблице, получить соответствующий идентификатор потока в XenForo и затем перенаправить на поток с этим идентификатором.

...