Системный файл hosts операционной системы windows не понимает звездочку в качестве понятия “все поддомены”. Тоесть нельзя сделать запись вида:
127.0.0.1 *.local
Однако, для разработки сайтов на локальном компьютере это было бы очень полезным, сделав ненужным залезать каждый раз при разработке нового проекта в файл hosts и прописывать локальное имя домена для сайта.
Решается данная задача довольно просто. Надо поднять локальный DNS сервер и прописать необходимые нам параметры.
В качестве DNS сервера под windows я взял Unbound. При установке убираем галочку с «DLV – dlv.isc.org». Для ОС “Windows Vista”, “Windows 7” и т.д. советую не устанавливать программу в папку “Program Files”, “Program Files (x86)” и т.п., так как это сделает затруднительным редактирование конфигурационного файла программы. Далее осталось только отредактировать конфигурационный файл (service.conf). Для безопасности можно добавить строки:
access-control: 0.0.0.0/0 refuse access-control: 127.0.0.0/8 allow
И, непосредственно для нужного нам эффекта добавляем:
local-zone: "local." redirect local-data: "local. IN A 127.0.0.1"
И перезапускаем службу “Unbound DNS validator”
Теперь все адреса вида “xxx.local” для локального компьютера будут иметь IP “127.0.0.1”.
Естественно, в параметрах сетевого подключения предпочитаемым DNS сервером надо установить “127.0.0.1”.