Как поместить подстановочный знак в/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