我的共享主机的名称服务器如何将 http://servername.com/~username/ 解析为我的***域?

Posted

技术标签:

【中文标题】我的共享主机的名称服务器如何将 http://servername.com/~username/ 解析为我的***域?【英文标题】:How does my shared host's nameserver resolve http://servername.com/~username/ to my top level domain? 【发布时间】:2010-09-12 11:51:14 【问题描述】:

我最近将我的网站移至asmallorange.com 的共享托管解决方案,但我必须将我的域设置为使用他们提供的名称服务器,以便网站正确解析。我决心保持对域的 DNS 的控制,但我无法让我的***域解析到格式为

的共享位置
server.asmallorange.com/~username

所以我知道我在这里遗漏了一些东西,我的问题是:

他们的域名服务器/DNS 条目中的哪些内容使 server.sharedhost.com/~username 可以用作***域? (即http://topleveldomain.com)

【问题讨论】:

【参考方案1】:

什么都没有。 DNS 只是将 topleveldomain.com 映射到 server.sharedhost.com。它是查看 Host: topleveldomain.com 标头并知道它等同于 server.sharedhost.com/~username 的网络服务器。

【讨论】:

【参考方案2】:

什么都没有。他们让您的域名解析到 server.asmallorange.com 解析到的相同 IP,但随后他们让他们的 Web 服务器知道域名 topleveldomain.com,并告诉 Web 服务器它与 server.asmallorange 相同.com/~用户名。

虚拟主机不是 DNS 技巧,而是 HTTP 技巧 - 请求的主机名由浏览器在每个请求的 Host: 字段中发送。

【讨论】:

HTTP 1.1 需要 Host: 标头。出于这个原因,虚拟主机通常需要 HTTP 1.1。 HTTP 1.0 没有服务器可以关闭的主机头。 虽然 HTTP 1.0 没有定义 Host: 标头,但没有什么能阻止 1.0 客户端包含一个。更改 1.0 客户端来执行此操作很简单,几乎所有剩余的 1.0 客户端都可以。【参考方案3】:

apache 有一个“mod_user”,您可以在 apache conf 文件中启用它。使用这个和虚拟主机是如何实现的。

【讨论】:

【参考方案4】:

Apache 中的虚拟主机就是这样做的。

但是,仅仅因为您将 DNS 设置为“mydomain.com 解析为 1.2.3.4”,这是他们的 IP 地址,并不意味着您放弃了对域名的控制。

【讨论】:

以上是关于我的共享主机的名称服务器如何将 http://servername.com/~username/ 解析为我的***域?的主要内容,如果未能解决你的问题,请参考以下文章

连接网络打印机时输入主机用户名和密码(admin)后又出现自己电脑名称,需要输密码,如何解决??

如何防止共享主机上的 IIS 应用程序池中的空闲超时

如何将linux虚拟机和主机之间连接 详细_0_3

该主机当前已禁用共享文件夹,请查阅VMware文档了解如何启用

如何以编程方式在共享主机计划上创建插件域

如何将 laravel 项目指向共享主机中 public_html 下的公用文件夹