我有一个本地开发工具 ( LocalWP ),它通过修改/etc/hosts
.
例如,如果我将我的站点设置为 Local www.foo.com
,它会将以下内容附加到 hosts 文件中:
127.0.0.1 www.foo.com
这很好,但我需要在这个域中排除一个子目录(不是子域),所以它解析到另一个(原始)IP。
当然,这是不可能的,etc/hosts
因为它只是一个 DNS 指针,除了域之外不解析任何内容。但是,我想知道是否有另一个工具可以用来从当前hosts
文件中排除子目录,并将其指向一个新的 IP。
我想知道像 dnsmasq 这样的东西是否可以实现这一点,或者是否有另一个工具可以用于基于路径解析的一些条件 DNS 行为,而不仅仅是域。
你不能那样做。
名称解析由 DNS(
/etc/hosts
或 dnsmasq 或其他)处理,但第一个之后的所有内容都是/
HTTP 协议的一部分,因此由您的 Web 浏览器(在您这边)和 Web 服务器(在另一边); DNS(或/etc/hosts
, 或 dnsmasq 或其他)仅用于查找与主机名关联的 IP 地址,无论您尝试访问的子目录如何,该地址始终相同;只有在建立连接后才会使用实际的 HTTP 路径。