Regex редирект WordPress блога с субдомена на домен

Я пытаюсь перенаправить сообщение в блоге WordPress со старого домена на новый. У нас был блог на поддомене http://blog.domain.xyz/ и после миграции на основной домен https://www.domain.xyz/

В старом блоге URL поста был:
http://blog.domain.xyz/2020/03/25/post-name (part /2020/03/25/ это просто пример даты)
теперь мне нужно перенаправить на:
https://www.domain.xyz/post-name

Я сопоставил с доменом регулярных выражений и частью даты:

http://blog.domain.xyz/d{4}/d{2}/d{2}/

Я знаю, как перенаправить все посты вручную, но их более 1000, так что это не вариант.

Я не могу понять, как взять часть post-name и применить ее к новому домену

Всего 2 ответа


Я думаю, вам нужно что-то вроде следующего.

RewriteRule ^/d+/d+/d+/(.*)$ https://www.domain.xyz/$1 [R=301,L]

// ^/ start at the root
// d+/d+/d+/ match date folders like 2020/03/25/
// (.*) the part we want to keep "some-slug"
// $ end of match
// $1 put the part we want to keep here "some-slug"

В основном сопоставляет любые URL-адреса с / 2020/03/25 / post-name и перенаправляет на https://www.domain.xyz/post-name .

Примечание. Предполагается, что вы добавляете перенаправление на старый домен.


В то же время я понял это:

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^blog.domain.xyz$ RewriteRule d{4}/d{2}/d{2}(.*)$ https://www.domain.xyz$1 [R=301,L] </IfModule>