如何把通配符input到/ etc / hosts?
我最近想把所有的子域指向一个testing域,让我们说example.com到本地主机。 有没有办法将* .example.com上的所有请求都指向127.0.0.1
碰巧/etc/hosts
文件不支持通配符条目。
你将不得不使用其他服务,如dnsmasq。 要在dnsmasq中启用它,只需编辑dnsmasq.conf
并添加以下行:
address=/example.com/127.0.0.1
下面是那些试图完成原始目标的configuration(通配符都指向相同的代码库 – 无需安装任何开发环境,即XAMPP)
hosts文件(添加一个条目)
文件:/ etc / hosts(非Windows)
127.0.0.1 example.local
httpd.confconfiguration(启用虚拟主机)
文件:/XAMPP/etc/httpd.conf
# Virtual hosts Include etc/extra/httpd-vhosts.conf
httpd-vhosts.confconfiguration
文件: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>
重启apache
创buildpac文件:
保存为whatever.pac无论你想要的,然后加载浏览器的networking>代理>自动configuration设置(重新加载,如果你改变这个)
function FindProxyForURL(url, host) { if (shExpMatch(host, "*example.local")) { return "PROXY example.local"; } return "DIRECT"; }