Recientemente, quise apuntar todos los subdominios para un dominio de prueba, digamos example.com al localhost. ¿Hay alguna manera de señalar todas las solicitudes en * .example.com para resolverlas en 127.0.0.1?
Respuestas:
Sucede que el /etc/hosts
archivo no admite entradas con comodines.
Tendrá que utilizar otros servicios como dnsmasq. Para habilitarlo en dnsmasq, simplemente edite dnsmasq.conf
y agregue la siguiente línea:
address=/example.com/127.0.0.1
dnsmasq
configuración de ubuntu , vea este .
Aquí está la configuración para aquellos que intentan lograr el objetivo original (todos los comodines apuntan a la misma base de código: no instale nada, entorno de desarrollo, es decir, XAMPP)
archivo: / etc / hosts (no Windows)
127.0.0.1 example.local
archivo: /XAMPP/etc/httpd.conf
# Virtual hosts
Include etc/extra/httpd-vhosts.conf
archivo: XAMPP / etc / extra / httpd-vhosts.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>
reiniciar apache
guarde como lo que sea.pac donde quiera y luego cargue el archivo en la red del navegador> proxy> configuración de auto_configuración (vuelva a cargar si modifica esto)
function FindProxyForURL(url, host) {
if (shExpMatch(host, "*example.local")) {
return "PROXY example.local";
}
return "DIRECT";
}
utilizar dnsmasq
pretendiendo que estás usando un dist basado en Debian (ubuntu, mint ..), verifica si está instalado con
(sudo) systemctl status dnsmasq
Si solo está deshabilitado, comience con
(sudo) systemctl start dnsmasq
Si tiene que instalarlo, escriba
(sudo) apt-get install dnsmasq
Para definir dominios para resolver editar /etc/dnsmasq.conf
como este
address=/example.com/127.0.0.1
para resolver * .example.com
! ¡Debe volver a cargar dnsmasq para que se apliquen los cambios!
systemctl reload dnsmasq