Сохраняйте входящий URL в переменной сеанса ДО 301 перезаписи - PullRequest
0 голосов
/ 05 января 2019

прочесал сеть и ничего конкретного не нашел. Мой вопрос, возможно ли следующее, и если да, может кто-нибудь дать мне «совет», чтобы я мог продолжить рассмотрение вопроса - спасибо.

По сути, я объединяю несколько мини-сайтов в один и использую 301 переписывание для перенаправления старых URL-адресов. то есть. После этого rabbit.mytld, dog.mytld и cat.mytld перепишут в дальнейшем pets.mytld.

Пока все хорошо, но до того, как получатели добавятся, я хотел бы сохранить входящий URL-адрес в переменной сеанса, передаваемой на веб-сайт, чтобы я мог затем отобразить логотип кролика, собаки или кошки и получить Альтернативная цветовая схема, чтобы не запутать посетителей, которые вдруг увидят новый сайт. Можно вообще?

Спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Вы можете сделать что-то вроде этого

RewriteEngine On
RewriteCond %{HTTP_HOST} cats\.example\.com [NC]
RewriteRule .* https://pets.example.com/$1 [L, NC, R=301, CO=pets:cats:pets.example.com]

RewriteCond %{HTTP_HOST} dogs\.example\.com [NC]
RewriteRule .* https://pets.example.com/$1 [L, NC, R=301, CO=pets:dogs:pets.example.com]

Подробнее о Apache cookie flag co

0 голосов
/ 21 января 2019

Полагаю, вы имеете в виду 301 «редирект» (не «переписать»)? Вы «объединяете» эти сайты, поэтому вся ценность SEO переносится на pets.mytld.

Вы не можете сделать много до того, как произойдет перенаправление. Вы не можете установить «переменную сеанса» (например, в терминах «сеанса PHP»), поскольку это происходит намного позже в запросе. Вы можете установить cookie во время перенаправления. Но в обоих случаях cookie (или сеанс) устанавливаются в исходном домене (например, rabbit.mytld), а не в цели (pets.mytld). Поэтому любое установленное значение будет потеряно к тому времени, как оно попадет в целевой домен.

Однако для SEO вы все равно не хотите этого делать, так как поисковые системы не смогут подобрать это. Поисковые системы не используют сессии или куки. Когда поисковая система посещает pets.mytld, они просто видят вашу страницу «по умолчанию». Не кролик , собака или кошка . Следовательно, по этой причине они могут сбрасывать со счетов редирект.

Вместо этого у вас должен быть уникальный URL-адрес на целевом сайте, на который вы должны перенаправлять. Например:

  • rabbit.mytld до pets.mytld/rabbit
  • dog.mytld до pets.mytld/dog
  • cat.mytld до pets.mytld/cat

Вы можете сделать это с помощью следующих директив в .htaccess в rabbit.mytld, dog.mytld и т. Д.:

RewriteEngine On
RewriteCond %(HTTP_HOST} (.+)\.mytld [NC]
RewriteRule ^ https://pets.mytld/%1 [R=302,L]

При этом захватывается первая часть запрошенного доменного имени (например, rabbit, dog и т. Д.) И передается по целевому URL вместо %1 обратной ссылки.

Обратите внимание, что это 302 (временное) перенаправление - измените его на 301, только когда вы уверены, что оно работает нормально - во избежание проблем с кэшированием браузера во время тестирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...