从 /etc/hosts 中设置的主机解析中排除子目录(使用 dnsmasq 或其他任何方法)

从 /etc/hosts 中设置的主机解析中排除子目录(使用 dnsmasq 或其他任何方法)

我有一个本地开发工具(本地WP) 通过修改来设置我的本地环境的路径/etc/hosts

例如,如果我将我的站点设置为本地www.foo.com,它会将以下内容附加到 hosts 文件中:

127.0.0.1 www.foo.com

这很好,但我需要排除一个子目錄(不是子域)在这个域中,所以它解析为另一个(原始)IP。

当然,这是不可能的,etc/hosts因为它只是一个 DNS 指针,除了域名之外什么都不解析。但是,我想知道是否有其他工具可以用来从当前文件中排除子目录hosts,并将其指向新的 IP。

我想知道像 dnsmasq 这样的东西是否可以实现这一点,或者是否有另一个工具可以用来实现基于路径解析(而不仅仅是域)的一些条件 DNS 行为。

答案1

你不能这么做。

/etc/hosts名称解析由 DNS(或、或 dnsmasq 或其他任何程序)处理,但第一个之后的所有内容/都是 HTTP 协议的一部分,因此由您的 Web 浏览器(在您这边)和 Web 服务器(在另一边)处理;DNS(或/etc/hosts、或 dnsmasq 或其他任何程序)仅用于查找与主机名关联的 IP 地址,无论您尝试访问哪个子目录,该地址始终相同;实际的 HTTP 路径只会用于连接已建立。

相关内容