私は最近、テストドメインのすべてのサブドメインをポイントしたいと考えていました。 * .example.com上のすべてのリクエストを127.0.0.1に解決するように指示する方法はありますか
/etc/hosts
ファイルはワイルドカードエントリをサポートしていないことがあります。
Dnsmasqなどの他のサービスを使用する必要があります。 dnsmasqで有効にするには、dnsmasq.conf
を編集して次の行を追加します。
address=/example.com/127.0.0.1
元の目標(ワイルドカードはすべて同じコードベースを指している-何もインストールしない、開発環境、つまり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 [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>
apacheを再起動します
任意の場所にwhatever.pacとして保存し、ブラウザのネットワーク>プロキシ> auto_configuration設定にファイルをロードします(これを変更した場合はリロードします)
function FindProxyForURL(url, Host) {
if (shExpMatch(Host, "*example.local")) {
return "PROXY example.local";
}
return "DIRECT";
}
dnsmasqを使用
debianベースのdist(ubuntu、mint ..)を使用しているふりをして、インストールされているかどうかを確認します
(Sudo) systemctl status dnsmasq
If無効になっている
(Sudo) systemctl start dnsmasq
Ifインストールする必要がある場合は、
(Sudo) apt-get install dnsmasq
解決するドメインを定義するには/etc/dnsmasq.conf
のように編集します
address=/example.com/127.0.0.1
* .example.comを解決するには
!変更を有効にするにはdnsmasqをリロードする必要があります!
systemctl reload dnsmasq