How to put wildcard entry into /etc/hosts?

How to put wildcard entry into /etc/hosts?

It happens that /etc/hosts file doesnt support wild card entries.

Youll have to use other services like dnsmasq. To enable it in dnsmasq, just edit dnsmasq.conf and add the following line:

address=/example.com/127.0.0.1

Here is the configuration for those trying to accomplish the original goal (wildcards all pointing to same codebase — install nothing, dev environment ie, XAMPP)

hosts file (add an entry)

file: /etc/hosts (non-windows)

127.0.0.1   example.local

httpd.conf configuration (enable vhosts)

file: /XAMPP/etc/httpd.conf

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

httpd-vhosts.conf configuration

file: 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>

restart apache

create pac file:

save as whatever.pac wherever you want to and then load the file in the browsers network>proxy>auto_configuration settings (reload if you alter this)

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

How to put wildcard entry into /etc/hosts?

use dnsmasq

Assuming that youre using a Debian-based dist(ubuntu, mint..), check if its installed with

(sudo) systemctl status dnsmasq

If it is just disabled, start it with

(sudo) systemctl start dnsmasq

If you have to install it, write

(sudo) apt-get install dnsmasq

To define domains to resolve edit /etc/dnsmasq.conf like this.

address=/example.com/127.0.0.1

to resolve *.example.com

! You must reload dnsmasq to take effect for the changes !

systemctl reload dnsmasq

Leave a Reply

Your email address will not be published.