Исключить подкаталог из разрешения хоста, установленного в /etc/hosts (с помощью dnsmasq или чего-либо еще)

Исключить подкаталог из разрешения хоста, установленного в /etc/hosts (с помощью dnsmasq или чего-либо еще)

У меня есть локальный инструмент разработки (LocalWP), который устанавливает путь к моей локальной среде путем изменения /etc/hosts.

Например, если я установлю для своего сайта Local значение www.foo.com, он добавит в файл hosts следующее:

127.0.0.1 www.foo.com

Это хорошо, но мне нужно исключитьподкаталог(не поддомен) в этом домене, поэтому он преобразуется в другой (исходный) IP-адрес.

Конечно, это невозможно, etc/hostsпотому что это просто указатель DNS, который не разрешает ничего, кроме домена. Однако мне интересно, есть ли другой инструмент, который я могу использовать, чтобы исключить подкаталог из текущего hostsфайла и указать ему новый IP.

Мне интересно, может ли что-то вроде dnsmasq сделать это или есть другой инструмент, который я мог бы использовать для условного поведения DNS на основе разрешения пути, а не только домена.

решение1

Так делать нельзя.

Разрешение имен обрабатывается DNS (или /etc/hosts, или dnsmasq, или чем-то еще), но все, что после первого, /является частью протокола HTTP и, как таковое, обрабатывается вашим веб-браузером (на вашей стороне) и веб-сервером (на другой стороне); DNS (или /etc/hosts, или dnsmasq, или чем-то еще) используется только для поиска IP-адреса, связанного с именем хоста, который всегда будет одним и тем же, независимо от подкаталога, к которому вы пытаетесь получить доступ; будет использоваться только фактический путь HTTPпослесоединение установлено.

Связанный контент