У меня есть локальный инструмент разработки (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послесоединение установлено.