Htaccess перенаправление с другого домена на основной домен

У нас есть более 50 доменов, которые все относятся к одному основному домену.

В настоящее время перенаправления настроены таким образом, что все страницы для других доменов перенаправляются на одну и ту же соответствующую страницу в основном домене, что дает нам тысячи перенаправлений, когда на самом деле нам просто нужно, чтобы один домен указывал на другой.

Перенаправления работают следующим образом.

Целевая страница XYZ -> Целевая страница ABC

Пример:

test.com/page -> 301 перенаправляет на abc.com/page

Нам нужно, чтобы все перенаправления работали следующим образом.

Целевая страница XYZ -> Основной домен XYZ -> Основной домен

Пример:

test.com/page -> 301 перенаправляет на test.com -> 301 перенаправляет на abc.com

Почему вы хотите сначала перейти к базовому адресу первого домена, почему бы не перейти непосредственно к abc.com? В любом случае вы вряд ли сможете сделать это, выполняя чистую перезапись, по крайней мере, если вы не хотите добавлять дополнительные параметры к URL-адресу при переходе на test.com - потому что в этот момент где вы ожидаете, что информация, которую /page изначально запрашивал, пришло отныне? Вам нужно будет сначала явно сохранить его в файле cookie или сеансе, чтобы он был доступен, когда клиент запрашивает test.com.

CBroe 11.04.2018 12:48

При сканировании Google (поисковая консоль Google) возникает проблема, если мы напрямую переходим на test.com без первого домена.

sethu kumar 11.04.2018 12:58

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

CBroe 11.04.2018 13:02

Причина, по которой мы хотим направить все внутренние целевые страницы в один домен (а затем перенаправить этот домен на abc.com), заключается в том, что Google распознает это как перенаправление домена 1: 1. Если бы в этих других доменах в какой-то момент был другой контент, который имел какой-то вес, то перенаправление целевой страницы 1: 1 было бы приемлемым; однако, поскольку все они имеют дублированный контент с сайта abc.com, нет причин использовать тысячи переадресаций на целевые страницы для страниц, которых вообще не должно было существовать.

sethu kumar 11.04.2018 13:04

Цель перенаправления 301 - передать любое значение страницы на следующую страницу. Поскольку эти внутренние страницы не имеют ценности, нет причин для всех перенаправлений. Кроме того, мы не хотим раздувать ссылки на abc.com, поскольку Google увидит, что они бесполезны, и это повредит нашему авторитету.

sethu kumar 11.04.2018 13:04

Да ладно, но это ничего не меняет в основной проблеме. Вы не сможете передавать эту информацию через URL-адрес, если перенаправление должно происходить без каких-либо дополнительных параметров GET (?) - а с файлом cookie или сеансом (на основе файлов cookie) вам не повезет, когда Google обеспокоен.

CBroe 11.04.2018 13:09
2
6
29
1

Ответы 1

Атласт я нашел решение.

RewriteCond %{REQUEST_URI} /

RewriteCond %{REQUEST_URI} !/$

RewriteCond %{HTTP_HOST} !(^|\.)example.com
RewriteRule ^(.*)$ http://%{HTTP_HOST} [L,R=301]

RewriteCond %{HTTP_HOST} (^|\.)test.com
RewriteRule ^(.*)$ https://www.example.com [R=permanent,L]

Другие вопросы по теме