/etc/hosts で設定されたホスト解決からサブディレクトリを除外する (dnsmasq などを使用)

/etc/hosts で設定されたホスト解決からサブディレクトリを除外する (dnsmasq などを使用)

ローカル開発ツール(ローカルWP) を変更してローカル環境へのパスを設定します/etc/hosts

たとえば、ローカルのサイトを に設定するとwww.foo.com、hosts ファイルに次の内容が追加されます。

127.0.0.1 www.foo.com

これは問題ありませんが、除外する必要があるのはサブディレクトリ(サブドメインではない) このドメイン内にあるため、別の (元の) IP に解決されます。

もちろん、これは DNS ポインターに過ぎず、ドメイン以外は何も解決しないので、これは不可能です。ただし、現在のファイルからサブディレクトリを除外し、新しい IP を指すためetc/hostsに使用できる別のツールがあるかどうか疑問に思っています。hosts

dnsmasq のようなものでこれを実現できるのか、あるいはドメインだけではなくパスの解決に基づいて条件付きの DNS 動作を実行できる別のツールがあるのか​​どうか疑問に思っています。

答え1

そんなことはできないよ。

/etc/hosts名前解決はDNS(または、dnsmasqなど)によって処理されますが、最初の部分以降はすべて/HTTPプロトコルの一部であり、Webブラウザ(ユーザー側)とWebサーバー(相手側)によって処理されます。DNS(または/etc/hosts、dnsmasqなど)は、ホスト名に関連付けられたIPアドレスを見つけるためにのみ使用されます。IPアドレスは、アクセスしようとしているサブディレクトリに関係なく常に同じです。実際のHTTPパスは、接続が確立されます。

関連情報