Как настроить файл hosts для нескольких доменов/хостов с одним и тем же IP-адресом?

Как вы наверняка знаете, вы можете сопоставить имена хостов с IP-адресами с помощью файла «hosts». Это очень полезно, особенно при разработке, поскольку вы можете изменить localhost для проекта1.

Эта часть ясна, но, к сожалению, я не могу понять, как настроить это, чтобы открывать несколько проектов с одним и тем же IP. Я безуспешно пробовал несколько вещей, таких как:

127.0.0.1/projects/project1  project1
127.0.0.1/projects/project2  project2

Я проверил некоторые связанные вопросы, но не смог найти ответ. Итак, могу ли я каким-то образом выполнить то, что я пытаюсь сделать? Какие-либо предложения?


person Vinicius Santana    schedule 06.07.2013    source источник


Ответы (3)


Файл hosts — это всего лишь сопоставление имен с IP-адресом. Вы можете указать несколько имен рядом с IP следующим образом:

127.0.0.1 name1 name2 name3.domain
person DRC    schedule 06.07.2013
comment
хорошо, но как мне добраться до определенных папок? У меня есть несколько проектов на моем локальном хосте. localhost/name1 localhost/name2 Думаю, это правильный вопрос. Как заставить name1 указывать на localhost/name1? - person Vinicius Santana; 06.07.2013
comment
это просто отображение, подобное DNS, поэтому оно не имеет никакого понятия о пути или apache, таких как подкаталоги. - person DRC; 06.07.2013
comment
Вам нужно настроить виртуальный хост в конфигурации Apache. - person Do Nhu Vy; 10.11.2014
comment
Стоит отметить, что в Windows это будет работать до 9 псевдонимов - см. мой ответ ниже. - person Steve Chambers; 08.01.2020

Я решил эту проблему благодаря Google и сотрудникам @jvilhena и @DRC. Вот как я это сделал:

Если вы используете Windows и XAMPP, как в моем случае, первым шагом будет настройка файла hosts. Если вы используете Windows, скорее всего, вы найдете его в C:\Windows\System32\drivers\etc\hosts. Вы можете использовать любой текстовый редактор для редактирования.

Вы можете настроить любое количество имен хостов, указывающих на ваш локальный хост, с IP-адресом 127.0.0.1.

Например:

 127.0.0.1               local.project1
 127.0.0.1               local.project2
 127.0.0.1               youcanuseany.name.here

Вторым шагом было разобраться с файлом Apache httpd-vhosts.conf. Опять же, я использую Windows и XAMPP. Скорее всего, этот файл будет в C:\xampp\apache\conf\extra\httpd-vhosts.conf.

Вам не обязательно, но мне нравится хранить папки проекта в папке htdocs @ C:\xampp\htdocs.

Для каждого проекта, для которого вы создаете «имя хоста», вы должны добавить в файл httpd-vhosts.conf следующее:

<VirtualHost *>
    DocumentRoot "C:\xampp\htdocs\projectx"
    ServerName youcanuseany.name.here
    <Directory "C:\xampp\htdocs\projectx">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>  

Еще один пример просто так :)

<VirtualHost *>
    DocumentRoot "C:\xampp\htdocs\project1"
    ServerName local.project1
    <Directory "C:\xampp\htdocs\project1">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Теперь вы можете ввести local.project1 и youcanuseany.name.here в браузере, и он должен открыть ваш проект, как если бы вы вводили localhost/project1 и localhost/projectX. Надеюсь, это поможет.

person Vinicius Santana    schedule 27.07.2013
comment
Не забудьте отредактировать файл httpd.conf, чтобы Apache загружал информацию о виртуальных хостах. Для этого найдите и раскомментируйте эту строку: #Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf, удалив символ #. Я нашел этот совет на странице F6 Design. при этом принес этот ответ на главную базу! :) - person erlingormar; 05.12.2013
comment
и вы должны перезапустить Apache, чтобы увидеть результат. - person Do Nhu Vy; 10.11.2014
comment
Обновление на 2021 год: синтаксис: «Заказать разрешить», «запретить» / «Разрешить из всех» изменено для Apache 2.4 и более поздних версий и теперь «Требовать все предоставлено». . - person Duke Bouvier; 26.02.2021

На момент написания есть два ответа, получивших наибольшее количество голосов: один помещает все псевдонимы в одну строку, а другой - в отдельные строки. Стоит отметить, что хотя первое решение более компактно, второе также может понадобиться, так как в Windows установлено ограничение 9 на число псевдонимов в каждой строке. Итак, чтобы иметь максимальную компактность, но все же работать, когда псевдонимов много: -

127.0.0.1 alias1 alias2 alias3 alias4 alias5 alias6 alias7 alias8 alias9
127.0.0.1 alias10 alias11 alias12 alias13 alias14 alias15 alias16 alias17 alias18 
127.0.0.1 alias19 ...etc...
person Steve Chambers    schedule 11.04.2019