Какую правильную строку htaccess направить из поддомена в основной домен
У нас есть блог на поддомене, который необходимо переместить в основной домен
- т.е.:
blog.example.com/post-title
- до
example.com/blog/post-title
Нужно ли мне создавать совпадение перенаправления для каждого отдельного сообщения/блога или я могу выполнить широкое совпадение через.htaccess?
В настоящее время они находятся в разных каталогах, так как устанавливаются разные WordPress. Поддомен в конце концов отпадет, потому что мы консолидируемся.
1 answers
В настоящее время они находятся в разных каталогах...
Поскольку поддомен и основной домен указывают на разные подкаталоги, требуемое перенаправление такое же, как если бы оно находилось на совершенно разных доменах/ серверах.
Вам просто нужен один mod_alias Redirect
в файле .htaccess
в корне вашего поддомена blog
.
Удалите существующие директивы в
.htaccess
(в противном случае, фронт-контроллер WordPress и любой другой mod_rewrite директивы все равно будут обработаны).-
Добавьте следующие мод_алии
Redirect
:Redirect 302 / https://example.com/blog/
Измените перенаправление 302 (временное) на 301 (постоянное), только если вы уверены, что оно работает нормально.
Директива Redirect
является совпадающей с префиксом. Все, что после совпадения добавляется в конец целевого URL. например, blog.example.com/post-title
перенаправляется на example.com/blog/post-title
.
ОБНОВЛЕНИЕ:
Поддомен отпадет в конечном счете потому что мы консолидируемся.
Вам нужно будет сохранить поддомен на месте "как можно дольше". Очевидно, что без поддомена вы не сможете перенаправить - альтернативы сохранению SEO и удобства использования нет. Вам нужно будет сохранить поддомен на месте, по крайней мере, до тех пор, пока новый сайт не будет проиндексирован и поддомен не исчезнет из поисковой выдачи, что может занять значительное время, в зависимости от размера и возраста старого сайта. Обратные ссылки могут занять намного дольше и, возможно, никогда не будет обновляться.
Вам не нужно сохранять старый сайт, и вам не обязательно нужен старый поддомен, чтобы указывать на исходное местоположение. Вы можете изменить поддомен так, чтобы он указывал на корень нового сайта, и включить перенаправление как часть вашего канонического перенаправления. Таким образом, накладные расходы на поддержание поддомена минимальны. Например, используя mod_rewrite в верхней части файла .htaccess
на вашем новом WordPress сайт:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^example\.com$
RewriteRule (.*) https://example.com/$1 [R=301,L]
Это перенаправляет любой запрос, который не предназначен для вашего канонического хоста (который включает любые поддомены и www), и перенаправляет на ваш канонический хост. Если ваш файл .htaccess
находится в подкаталоге /blog
, вам потребуется изменить RewriteRule
подстановка для чтения: https://example.com/blog/$1
.
Обратите внимание, что это перенаправление (на новом сайте) необходимо реализовать с помощью mod_rewrite, в отличие от mod_alias (Redirect
), так как ваш новый сайт WordPress, скорее всего, уже используя mod_rewrite.
Возможно, возникнут некоторые сложности, если вы планируете реализовать HSTS.