【问题标题】:How can I detect entry to a website by domain?如何通过域检测对网站的访问?
【发布时间】:2011-10-28 13:03:06
【问题描述】:

如果我有多个域入口点并且想使用同一个主机,我可以通过 PHP 或 JavaScript 检测到该人是通过哪个域进入主机网站的吗?

ie:我有 3 个域:

  • www.jackfrost.com

  • www.holycow.com

  • www.ohmy.com

主机位于 www.jackfrost.com。

如果有人通过 www.ohmy.com 进入,我可以检测到吗,所以我只显示该条目的内容和不同的条目的不同内容?

(目的是降低成本,因为网站由 godaddy 托管)

【问题讨论】:

  • 是的,但从不可靠,在这种情况下,我建议不要。 http是无状态协议

标签: php javascript web


【解决方案1】:

您可以做的最好的方法是查看您的 PHP 脚本中的 $_SERVER['HTTP_HOST'] 并根据它发送您的内容。

在 JavaScript 中,您可以检查 window.location.hostname 以获取所使用的域名。

但是,更好的方法是在您的网络服务器配置中拥有三个不同的虚拟主机 - 每个域一个。这样,即使没有 PHP 或任何其他脚本语言,您也可以为不同的域提供不同的内容。当使用 Apache 作为网络服务器时,您可以查看带有示例的文档:http://httpd.apache.org/docs/2.2/vhosts/examples.html

如果您不想或可以使用基于名称的虚拟主机,您可以只使用一台虚拟主机,并使用 Apache 的mod_rewrite 内部重写基于HTTP_HOST 的其他目录的请求。

【讨论】:

    【解决方案2】:

    如果您使用的是 Apache,您应该设置基于名称的虚拟主机。

    Apache V1

    http://httpd.apache.org/docs/1.3/vhosts/name-based.html

    Apache V2

    http://httpd.apache.org/docs/2.0/vhosts/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 2013-10-04
      • 1970-01-01
      • 2010-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多