【问题标题】:Keeping original HTTP_HOST when Redirecting/Rewriting重定向/重写时保留原始 HTTP_HOST
【发布时间】:2013-09-05 21:16:48
【问题描述】:

我遇到了 IIS 重写模块和 nopCommerce 的问题。

情况:

我有多个域(Domain1.ca、Domain2.ca 等),每个域都重定向到 Registrar 级别的主域 (MainDomain.ca)(使用 CNAME 记录)。是否可以使用 IIS 8 重写模块来保留最初浏览到的域(Domain1.ca、Domain2.ca 等)的原始 HTTP_HOST 值,而不是重定向的域(MainDomain.ca)?我需要它的原因如下:

在 nopCommerce 中,每个商店对应一个唯一的域 (Store1 = Domain1.ca)。为了确定哪个商店处于活动状态,nopCommerce 获取并解析“HTTP_HOST”值。

不幸的是,由于所有域都被重定向到主域 (MainDomain.ca),因此原始 HTTP_HOST 值 (Domain1.ca) 丢失了。因此,在不知道需要激活哪个特定商店的情况下,nopCommerce 会激活列表中的第一个。

我假设当一个站点被重定向到时,原来的 HTTP_HOST 值会被覆盖。

有人对 nopCommerce、HTTP_HOST、多商店、域重定向有任何经验吗?

【问题讨论】:

    标签: nopcommerce http-host


    【解决方案1】:

    CNAME 不执行任何重定向。 CNAME 只是说 domain1.com 将使用与 domain2.com 相同的 dns 记录,也就是别名。

    因此,如果您确实是从您的域名注册商重定向,那么您并没有使用 CNAME 记录来执行此操作。您必须在注册商处使用 REDIRECT 服务,最常见的是 FRAME 重定向,他们在其中为 domain1.com 创建一个网站,并在其中放置一个指向 domain2.com 的框架集

    我建议删除它,只使用 CNAME,然后使用 URL REWRITE 在您的网络服务器上进行重定向,这样您就可以保留原始主机名。

    【讨论】:

    • 嗨 Snake,感谢您帮助解答。不过还是一头雾水。这是手册中的一个 sn-p:从 www.store2.com 的控制面板(意思是,您的主机控制面板,而不是 nopCommerce 管理区域)确保对 www.store2.com 的所有请求都被转发(而不是重定向)到www.store1.com 。使用 CNAME 记录执行此操作。这一步至关重要。
    • 它既不是转发也不是重定向,正如我所说的,cname 只是您在 cname 记录中使用的域的别名。您需要在您的站点 Iin iis 上为两个 fomains 设置一个主机头,然后使用 url 重写将 domsin1 重定向到 domain2
    猜你喜欢
    • 1970-01-01
    • 2015-07-27
    • 2017-04-06
    • 1970-01-01
    • 2011-08-29
    • 2019-11-17
    • 2015-11-18
    • 1970-01-01
    • 2020-08-25
    相关资源
    最近更新 更多