Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Для чего нужна директива NameVirtualHost?
 
 автор: dump   (12.02.2012 в 15:55)   письмо автору
 
 

Для чего нужна директива NameVirtualHost? Ведь есть же контейнер VirtualHost. В нём можно сразу указать ip-адрес, порт к которому привязан хост. Для указания хоста служит директива ServerName внутри контейнера.

  Ответить  
 
 автор: cheops   (12.02.2012 в 16:16)   письмо автору
 
   для: dump   (12.02.2012 в 15:55)
 

Сервер у вас может обладать не одним, а несколькими IP-адресами. Собственно, раньше так несколько сайтов на один сервер и вешали - добавляли несколько IP-адресов на сервер. Вот NameVirtualHost - указывает на эти IP-адреса (их у сервера может быть несколько). А контейнеры виртуальных хостов уже при помощи директивы ServerName указывают какие виртуальные хосты повешены на конкретные IP-адреса. Т.е. если у вас один IP-адрес, а так часто и бывает, без NameVirtualHost можно обойтись. Если у вас один сайт на Web-сервере, можно обойтись и без виртуальных хостов.

  Ответить  
 
 автор: dump   (13.02.2012 в 13:55)   письмо автору
 
   для: cheops   (12.02.2012 в 16:16)
 

>Вот NameVirtualHost - указывает на эти IP-адреса (их у сервера может быть несколько)
Но ведь чтобы заставить апачи слушать какой-либо ip-адрес и порт есть директива listen. А директива NameVirtualHost не настроит апачи на прослушку заданного ip и порта. И кроме того, виртуальный хост можно создать просто написав контейнер:

<VirtualHost 127.0.0.1:80>
....
</VirtualHost>

В этом случае хост будет работать и без NameVirtualHost.

  Ответить  
 
 автор: cheops   (13.02.2012 в 14:58)   письмо автору
 
   для: dump   (13.02.2012 в 13:55)
 

>А директива NameVirtualHost не настроит апачи на прослушку заданного ip и порта.
Зато она "скажет" Apache, что на этом IP-адресе больше, чем один сайт и нужно ориентироваться на HTTP-заголовок Host.

  Ответить  
 
 автор: dump   (13.02.2012 в 15:44)   письмо автору
 
   для: cheops   (13.02.2012 в 14:58)
 

>Зато она "скажет" Apache, что на этом IP-адресе больше, чем один сайт и нужно ориентироваться на HTTP-заголовок Host.

А зачем ему "говорить"? Ведь он и так при считывании контейнеров VirtualHost узнает какие хосты на каких ip и портах работают?

  Ответить  
 
 автор: cheops   (13.02.2012 в 16:23)   письмо автору
 
   для: dump   (13.02.2012 в 15:44)
 

Возьмите и уберите, если вам не нравится :))) Многие директивы исторически тянуться еще с 90-х годов, они избыточны, дублируют друг друга, они не единообразны. К сожалению, с этим приходится мириться, таков UNIX и такова особенность проектов, над которыми работают тысячи людей, на знающих что происходит в головах друг друга и не связанных жесткими корпоративными требованиями на разработку.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования