Regex редирект WordPress блога с субдомена на домен - PullRequest
0 голосов
/ 26 марта 2020

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

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 26 марта 2020

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

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.

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

0 голосов
/ 26 марта 2020

А пока я разобрался:

<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>

...