我有一个本地开发工具(本地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 路径只会用于后连接已建立。