最近、テストドメインのすべてのサブドメイン、たとえばexample.comをローカルホストにポイントしたいと思いました。* .example.com上のすべてのリクエストを127.0.0.1に解決するように指示する方法はありますか?
回答:
/etc/hosts
ファイルがワイルドカードエントリをサポートしていない場合があります。
dnsmasqなどの他のサービスを使用する必要があります。dnsmasqで有効にするにはdnsmasq.conf
、次の行を編集して追加するだけです。
address=/example.com/127.0.0.1
dnsmasq
セットアップについては、こちらをご覧ください。
元の目標を達成しようとしている人のための構成は次のとおりです(ワイルドカードはすべて同じコードベースを指しています-何もインストールしない、開発環境、つまりXAMPP)
ファイル:/ etc / hosts(Windows以外)
127.0.0.1 example.local
ファイル:/XAMPP/etc/httpd.conf
# Virtual hosts
Include etc/extra/httpd-vhosts.conf
ファイル: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を再起動します
好きな場所にwhatever.pacとして保存し、ブラウザのネットワーク>プロキシ>自動設定設定でファイルをロードします(これを変更した場合は再ロードします)
function FindProxyForURL(url, host) {
if (shExpMatch(host, "*example.local")) {
return "PROXY example.local";
}
return "DIRECT";
}
dnsmasqを使用する
Debianベースのdist(ubuntu、mint ..)を使用しているふりをして、
(sudo) systemctl status dnsmasq
無効になっている場合は、
(sudo) systemctl start dnsmasq
インストールする必要がある場合は、
(sudo) apt-get install dnsmasq
/etc/dnsmasq.conf
このように編集を解決するドメインを定義するには
address=/example.com/127.0.0.1
* .example.comを解決するには
!変更を有効にするには、dnsmasqをリロードする必要があります。
systemctl reload dnsmasq