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

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

3 ответов


бывает /etc/hosts файл не поддерживает записи wild card.

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

address=/example.com/127.0.0.1

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

hosts file (добавить запись)

файл:/etc / hosts (не windows)

127.0.0.1   example.local

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

файл: /XAMPP/etc / httpd.conf

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

httpd-vhosts.конфигурации

: Программе XAMPP/и т. д./дополнительного/файл httpd-виртуальных доменов.conf
<VirtualHost *:80>
    ServerAdmin admin@example.local
    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:

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

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

использовать dnsmasq

притворяясь, что вы используете dist на основе debian(ubuntu, mint..), проверьте, установлен ли он с

(sudo) systemctl status dnsmasq

если он просто отключен запустите его с

(sudo) systemctl start dnsmasq

если вы должны установить его, написать

(sudo) apt-get install dnsmasq

чтобы определить домены для решения edit /etc/dnsmasq.conf такой

address=/example.com/127.0.0.1

разрешить *.example.com

! Вам нужно перезагрузить dnsmasq, чтобы взять эффект для изменений !

systemctl reload dnsmasq