Как добавить подстановочный знак в/etc/hosts?

Недавно я хотел указать все поддомены для тестового домена, скажем example.com на localhost. Есть ли способ указать все запросы на *.example.com для решения 127.0.0.1

Ответ 1

Бывает, что файл /etc/hosts не поддерживает записи с дикой картой.

Вам придется использовать другие службы, такие как dnsmasq. Чтобы включить его в dnsmasq, просто отредактируйте dnsmasq.conf и добавьте следующую строку:

address=/example.com/127.0.0.1

Ответ 2

Вот конфигурация для тех, кто пытается выполнить исходную цель (подстановочные знаки, указывающие на одну и ту же базу кода - ничего не устанавливать, dev environment, т.е. XAMPP)

файл hosts (добавить запись)

file:/etc/hosts (не-окна)

127.0.0.1   example.local

Конфигурация httpd.conf(включить vhosts)

file:/XAMPP/etc/httpd.conf

# Virtual hosts
Include etc/extra/httpd-vhosts.conf

Конфигурация httpd-vhosts.conf

файл: XAMPP/etc/extra/httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/path_to_XAMPP/htdocs"
    ServerName example.local
    ServerAlias *.example.local
#    SetEnv APP_ENVIRONMENT development
#    ErrorLog "logs/example.local-error_log"
#    CustomLog "logs/example.local-access_log" common
</VirtualHost>

перезапустить apache

создать файл pac:

сохранить как whatever.pac, куда захотите, а затем загрузить файл в сети браузерa > прокси > параметры автоконфигурации (перезагрузите, если вы измените это)

function FindProxyForURL(url, host) {
  if (shExpMatch(host, "*example.local")) {
    return "PROXY example.local";
  }
  return "DIRECT";
}