web-dev-qa-db-ja.com

ワイルドカードエントリを/ etc / hostsに入れる方法

私は最近、テストドメインのすべてのサブドメインをポイントしたいと考えていました。 * .example.com上のすべてのリクエストを127.0.0.1に解決するように指示する方法はありますか

71
aamir

/etc/hostsファイルはワイルドカードエントリをサポートしていないことがあります。

Dnsmasqなどの他のサービスを使用する必要があります。 dnsmasqで有効にするには、dnsmasq.confを編集して次の行を追加します。

address=/example.com/127.0.0.1
87
aamir

元の目標(ワイルドカードはすべて同じコードベースを指している-何もインストールしない、開発環境、つまりXAMPP)を達成しようとする人のための構成を次に示します。

hostsファイル(エントリを追加)

ファイル:/ etc/hosts(非Windows)

127.0.0.1   example.local

httpd.conf構成(仮想ホストを有効化)

ファイル:/XAMPP/etc/httpd.conf

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

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を再起動します

pacファイルを作成します。

任意の場所にwhatever.pacとして保存し、ブラウザのネットワーク>プロキシ> auto_configuration設定にファイルをロードします(これを変更した場合はリロードします)

function FindProxyForURL(url, Host) {
  if (shExpMatch(Host, "*example.local")) {
    return "PROXY example.local";
  }
  return "DIRECT";
}
6
Daniel Jordi

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
3
Immanuel