Exclua o subdiretório da resolução do host definida em /etc/hosts (com dnsmasq ou qualquer outra coisa)

Exclua o subdiretório da resolução do host definida em /etc/hosts (com dnsmasq ou qualquer outra coisa)

Tenho uma ferramenta de desenvolvimento local (LocalWP) que define o caminho para meu ambiente local modificando o arquivo /etc/hosts.

Por exemplo, se eu definir meu site em Local como www.foo.com, ele acrescentará o seguinte ao arquivo hosts:

127.0.0.1 www.foo.com

Tudo bem, mas preciso excluir umsubdiretório(não um subdomínio) neste domínio, portanto ele resolve para outro IP (o original).

Claro, isso não é possível etc/hostsporque é apenas um ponteiro DNS e não resolve nada, exceto o domínio. No entanto, estou me perguntando se há outra ferramenta que eu possa usar para excluir um subdiretório do hostsarquivo atual e apontá-lo para um novo IP.

Estou me perguntando se algo como dnsmasq pode fazer isso ou se há outra ferramenta que eu possa usar para algum comportamento de DNS condicional com base na resolução do caminho, em vez de apenas no domínio.

Responder1

Você não pode fazer isso.

A resolução de nomes é tratada pelo DNS (ou /etc/hosts, ou dnsmasq, ou qualquer outro), mas tudo depois do primeiro /faz parte do protocolo HTTP e, como tal, é tratado pelo seu navegador (do seu lado) e pelo servidor web (no seu lado). outro lado); DNS (ou /etc/hosts, ou dnsmasq, ou qualquer outro) é usado apenas para encontrar o endereço IP associado ao nome do host, que será sempre o mesmo, independentemente do subdiretório que você está tentando acessar; o caminho HTTP real só será usadodepoisa conexão é estabelecida.

informação relacionada