2013-07-06 2 views
19

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

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

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

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

ответ

21

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

Если вы используете Windows и XAMPP, это мой случай, первый шаг - настроить файл «hosts». Если вы используете окна, вероятно, вы найдете его на 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 

Второй шаг должен был иметь дело с файлом HTTPd-vhosts.conf на моем апача. Опять же, я использую окна и 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.здесь на свой browswer, и он должен открыть ваш проект, как если бы вы набирали localhost/project1 и localhost/projectX. Я надеюсь, что это помогает.

+5

Не забудьте отредактировать файл httpd.conf, чтобы Apache фактически загружал информацию о виртуальных хостах. Для этого найдите и раскомментируйте эту строку: '#Include/Applications/XAMPP/etc/extra/httpd-vhosts.conf' , удалив символ' # '-symbol. Я нашел этот совет в [F6 Design] (http://f6design.com/journal/2012/03/11/configuring-virtualhosts-in-xampp-on-mac/), который принес этот ответ на домашнюю базу!:) – erlingormar

+1

и вы должны перезапустить Apache, чтобы увидеть результат. –

35

файл хостов лишь отображение ф к нескольким именам, так что вы можете указать все имена рядом с IP, как этот

127.0.0.1 name1 name2 name3.domain 
+0

нормально, но как мне добраться до определенных папок? У меня есть несколько проектов на моем локальном хосте. localhost/name1 localhost/name2 Я думаю, что это правильный вопрос. Как мне получить имя1, чтобы указать на localhost/name1? –

+1

это просто dns, как сопоставление, поэтому у него нет понятия пути или apache, как subdirs. – DRC

+2

Вам нужно настроить виртуальный хост в конфигурации Apache. –