Виртуальный хост в Apache
Проблема такая(apache_1.3.27):
Для моего сервака используется вот этот путь "C:/localhost/www",т.е.
...
DocumentRoot "C:/localhost/www".....
....
<Directory "C:/localhost/www">......
....
Но когда я создаю виртуальный хост,то каталогом по умолчанию становится именно тот путь который указан в DocumentRoot для моего виртуального хоста,т.е. когдя ввожу в браузере http://locahost/index.html
грузится страничка не из C:/localhost/www,а из C:/localhost/forum/www.Меня это просто убивает!
<VirtualHost forum>
ServerAdmin forum@localhost
ServerName forum
DocumentRoot "C:/localhost/forum/www"
ScriptAlias /cgi/ "C:/localhost/forum/cgi-bin/"
ErrorLog C:/localhost/forum/error.log
CustomLog C:/localhost/forum/access.log common
</VirtualHost>
Не могу понять в чем проблема?
а вот и сам конфиг полностью
httpd.conf:
ServerType standalone
########################################
ServerRoot "C:/usr/Apache"
Listen 80
Port 80
ServerAdmin admin@localhost
ServerName server
DocumentRoot "C:/localhost/www"
<Directory />
Options Indexes Includes
AllowOverride All
</Directory>
<Directory "C:/localhost/www">
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<IfModule mod_userdir.c>
UserDir "C:/home"
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.html index.htm index.php
</IfModule>
ScriptAlias /cgi-bin/ "С:/localhost/cgi-bin/"
<Directory "С:/localhost/cgi-bin/">
AllowOverride All
Options ExecCGI
</Directory>
</IfModule>
#PHP++++++++++++++++++++++++++++++++++++++++++++
AddType image/x-icon .ico
AddType application/x-httpd-php .php
ScriptAlias /php/ "C:/usr/php5/"
LoadModule php5_module C:\usr\php5\php5apache.dll
AddHandler cgi-script .bat .exe .cgi .pl
AddHandler server-parsed .shtml .shtm .sht .html .htm
</IfModule>
###!!!!!!
Action application/x-httpd-php "/php/php.exe"
<VirtualHost forum>
ServerAdmin forum@localhost
ServerName forum
DocumentRoot "C:/localhost/forum/www"
ScriptAlias /cgi/ "C:/localhost/forum/cgi-bin/"
ErrorLog C:/localhost/forum/error.log
CustomLog C:/localhost/forum/access.log common
</VirtualHost>
а вообще иди ка ты... в FAQ по Apache
Спасибо еще что комментарии из него потер... А то было бы вообще весело...
не за что)
Прощу прощения,дело в том что я вчера только зарегился и не увидел что даже начинающим пользователям можно файлы прикреплять
А выставил весь конфиг,чтоб от вашего внимания ничего не ускользнуло 8-)
httpd.conf (у меня vhosts.conf) добавляю
NameVirtualHost penza-promo
<VirtualHost penza-promo>
ServerAdmin penza-promo
DocumentRoot D:/web-design/penza-promo.ru
ServerName penza-promo
ErrorLog logs/penza-promo-error_log
CustomLog logs/penza-promo_log common
</VirtualHost>
в /etc/hosts добавляю
127.0.0.1 penza-promo
и всё. в браузере по имени http://penza-promo будет соответсвующий сайт. у меня так два десятка проектов работает, и ничего.
httpd.conf (у меня vhosts.conf) добавляю
NameVirtualHost penza-promo
<VirtualHost penza-promo>
ServerAdmin penza-promo
DocumentRoot D:/web-design/penza-promo.ru
ServerName penza-promo
ErrorLog logs/penza-promo-error_log
CustomLog logs/penza-promo_log common
</VirtualHost>
в /etc/hosts добавляю
127.0.0.1 penza-promo
и всё. в браузере по имени http://penza-promo будет соответсвующий сайт. у меня так два десятка проектов работает, и ничего.
мне непонятен один момент В http.conf мы сначала пишем
...
DocumentRoot "C:/localhost/www".....
....
<Directory "C:/localhost/www">......
....
а потом если хотим добавить еще один сайт то уже нужно писать
NameVirtualHost penza-promo
<VirtualHost penza-promo>
ServerAdmin penza-promo
DocumentRoot D:/web-design/penza-promo.ru
ServerName penza-promo
ErrorLog logs/penza-promo-error_log
CustomLog logs/penza-promo_log common
</VirtualHost>
Но если,к примеру, я заранее знаю что у меня будет больше 1го сайта то могу я не писать вообще вот это
...
DocumentRoot "C:/localhost/www".....
....
<Directory "C:/localhost/www">......?????,
а писать все сразу для виртуальных хостов?
NameVirtualHost penza-promo
----------------------------------------
[quote=Apache manual]Syntax: NameVirtualHost addr[:port]
Although addr can be hostname it is recommended that you always use an IP address, e.g.[/quote]
NameVirtualHost ret
<VirtualHost 127.0.0.1>
ServerAdmin ret@localhost
ServerName ret
DocumentRoot "C:/localhost/ret/www"
ScriptAlias /cgi/ "C:/localhost/ret/cgi-bin/"
ErrorLog C:/localhost/ret/error.log
CustomLog C:/localhost/ret/access.log common
</VirtualHost>
правлю соответствующим образом hosts
но Apachе говорит:
[warm] NameVirtualHost ret:80 has no VirtualHosts,
причем аналогично объявленный вирт хост forum не вызывает у апача сомнений:
NameVirtualHost forum
<VirtualHost 127.0.0.1>
ServerAdmin forum@localhost
ServerName forum
DocumentRoot "C:/localhost/forum/www"
ScriptAlias /cgi/ "C:/localhost/forum/cgi-bin/"
ErrorLog C:/localhost/forum/error.log
CustomLog C:/localhost/forum/access.log common
</VirtualHost>
в чем баг?
да и вообще директиву NameVirualHost имеет смысл указывать ОДИН РАЗ ДЛЯ ОДНОГО АДРЕСА (адрес имеется в виду ip:port) т.е. если у тебя висит 2 виртуальных хоста на интерфейсе 127.0.0.1 тебе нет смысле писать 2 раза NameVirualHost.
да и вообще директиву NameVirualHost имеет смысл указывать ОДИН РАЗ ДЛЯ ОДНОГО АДРЕСА (адрес имеется в виду ip:port) т.е. если у тебя висит 2 виртуальных хоста на интерфейсе 127.0.0.1 тебе нет смысле писать 2 раза NameVirualHost.[/QUOTE]
в файле hosts все было в порядке
как только убрал 2ую запись NameVirualHost все заработало)
спс)