Недавно я хотел указать все поддомены для тестового домена, скажем example.com на localhost. Есть ли способ указать все запросы на *.example.com для решения 127.0.0.1
Как добавить подстановочный знак в/etc/hosts?
Ответ 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";
}