Сохранение исходного HTTP_HOST при перенаправлении / перезаписи
У меня возникла проблема с модулем перезаписи IIS и nopCommerce.
Ситуация:
У меня есть несколько доменов (Domain1.ca, Domain2.ca и т. Д.), Каждый из которых перенаправляет на основной домен (MainDomain.ca) на уровне регистратора (используя запись CNAME). Можно ли с помощью модуля перезаписи IIS 8 сохранить исходное значение HTTP_HOST для домена, который первоначально просматривался (Domain1.ca, Domain2.ca и т. Д.), Вместо перенаправленного домена (MainDomain.ca)? Мне это нужно по следующей причине:
В nopCommerce каждому магазину соответствует уникальный домен (Store1 = Domain1.ca). Чтобы определить, какое хранилище активно, nopCommerce получает и разрешает значение "HTTP_HOST".
К сожалению, поскольку все домены перенаправляются в основной домен (MainDomain.ca), исходное значение HTTP_HOST (Domain1.ca) теряется. Поэтому, не зная, какой конкретный магазин нужно активировать, nopCommerce активирует первый в списке.
Я предполагаю, что при перенаправлении сайта исходное значение HTTP_HOST перезаписывается.
У кого-нибудь есть опыт работы с nopCommerce, HTTP_HOST, multi-store, перенаправлением домена?
1 ответ
CNAME не выполняет перенаправление. CNAME просто говорит, что domain1.com будет использовать те же записи DNS, что и domain2.com, то есть псевдоним.
Так что, если вы действительно перенаправляете с вашего регистратора доменов, вы не используете запись CNAME для этого. Вы должны использовать службу REDIRECT у регистратора, наиболее распространенным из которых является перенаправление FRAME, где они создают веб-сайт для domain1.com, а внутри помещают набор фреймов, который указывает на domain2.com.
Я бы посоветовал удалить это и просто использовать только CNAME, а затем выполнить перенаправление на вашем веб-сервере с помощью URL REWRITE, после чего вы сможете сохранить исходное имя хоста.