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?
rahilwazir, en realidad, lo es si no desea todos los subdominios. # también funciona como comodín. Personalmente estoy usando `address = / dev # .example.com / 127.0.0.1 para hacer que dev123.example.com, etc. funcione.
Ray Foss
6
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 hosts (agregue una entrada)
archivo: / etc / hosts (no Windows)
127.0.0.1 example.local
Configuración de httpd.conf (habilitar vhosts)
archivo: /XAMPP/etc/httpd.conf
# Virtual hosts
Include etc/extra/httpd-vhosts.conf
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";
}
No funciona para archivos hosts en Windows. Solo aceptará www.example.com
Andre Figueiredo
1
esto funciona en Windows usando el archivo pac en Firefox. He probado esto en varias máquinas con Windows. el archivo de hosts solo requiere una entrada, el archivo pac maneja los subdominios.
Daniel Jordi
1
La pregunta original, según tengo entendido, no se trata de apache en absoluto, sino del nivel de la red, así que creo que su respuesta pierde el sentido: /
Tenga en cuenta que al usar un archivo pac para enviar solicitudes a un host (por ejemplo, localhost), un servidor web como Apache usaría la URL completa (incluido el protocolo y el nombre de host) en la variable REQUEST_URI en lugar de solo el componente de ruta.
JSchirrmacher
5
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.confcomo este
address=/example.com/127.0.0.1
para resolver * .example.com
! ¡Debe volver a cargar dnsmasq para que se apliquen los cambios!
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:fuente
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 hosts (agregue una entrada)
archivo: / etc / hosts (no Windows)
Configuración de httpd.conf (habilitar vhosts)
archivo: /XAMPP/etc/httpd.conf
Configuración de httpd-vhosts.conf
archivo: XAMPP / etc / extra / httpd-vhosts.conf
reiniciar apache
crear archivo pac:
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)
fuente
utilizar dnsmasq
pretendiendo que estás usando un dist basado en Debian (ubuntu, mint ..), verifica si está instalado con
Si solo está deshabilitado, comience con
Si tiene que instalarlo, escriba
Para definir dominios para resolver editar
/etc/dnsmasq.conf
como estepara resolver * .example.com
! ¡Debe volver a cargar dnsmasq para que se apliquen los cambios!
fuente