Як помістити запис підстановки в / etc / hosts?


Відповіді:


103

Трапляється, що /etc/hostsфайл не підтримує введення символів підстановки.

Вам доведеться використовувати інші сервіси, такі як dnsmasq. Щоб увімкнути його в dnsmasq, просто відредагуйте dnsmasq.confта додайте наступний рядок:

address=/example.com/127.0.0.1

5
для введення підстановочних знаків - address = /. example.com/127.0.0.1
vivex

2
@Vivek Це не потрібно
Рахіл Вазір,

4
Інформацію про dnsmasqналаштування ubuntu див. У цій статті .
lemonsqueeze

5
Для налаштування macosx дуже корисно проходженняcurcurity.com/2013/dnsmasq-dev-osx .
aamir

4
rahilwazir, насправді, це якщо ви не хочете всі субдомени. # також працює як wild card. Я особисто використовую `address = / dev # .example.com / 127.0.0.1, щоб зробити dev123.example.com тощо.
Ray Foss

8

Ось конфігурація для тих, хто намагається досягти початкової мети (узагальнюючі символи всі вказують на одну і ту ж базу коду - нічого не встановлювати, середовище розробника, тобто XAMPP)

файл hosts (додайте запис)

файл: / etc / hosts (не для Windows)

127.0.0.1   example.local

Налаштування httpd.conf (увімкнути vhosts)

файл: /XAMPP/etc/httpd.conf

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

Налаштування 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

створити файл pac:

збережіть як-небудь .pac де завгодно, а потім завантажте файл у мережу браузера> проксі> налаштування авто_конфігурації (перезавантажте, якщо ви це зміните)

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

Не працює для файлу hosts у Windows. Він приймає лише www.example.com
Андре Фігейредо

1
це працює у вікнах із використанням файлу pac у firefox. Я перевірив це на декількох машинах Windows. файл hosts вимагає лише одного запису, файл pac обробляє субдомени.
Даніель Джорді,

1
Оригінальне запитання, наскільки я розумію, зовсім не про apache, а про мережевий рівень, тому я думаю, що ваша відповідь упускає сенс: /
enTropy

щодо використання файлу pac в Інтернеті див .: campus.barracuda.com/product/websecurityservice/article/WSS/…
saeed arab sheybani

1
Зверніть увагу, що при використанні файлу pac для проксі-запитів до хосту (наприклад, localhost), веб-сервер, такий як Apache, використовуватиме повну URL-адресу (включаючи протокол та ім'я хосту) у змінній REQUEST_URI замість лише компонента шляху.
JSchirrmacher

5

використовуйте dnsmasq

роблячи вигляд, що використовуєте дистрибутив на основі debian (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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.