Сохранение исходного 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, после чего вы сможете сохранить исходное имя хоста.

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