|
|
|
| Структура такая: в папке apache (C:\apache) лежат 2-е папки: localhost и test.ru, в каждой из них есть папка www, в localhost\www лежит phpmyadmin, а в test.ru\www 2-а сайта: site1 и site2. В файле "C:\Apache2\conf\extra\httpd-vhosts.conf" прописал хосты так:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "C:/apache/localhost/www"
ServerName localhost
ErrorLog "C:/apache/localhost/error.log"
CustomLog "C:/apache/localhost/access.log" common
</VirtualHost>
<VirtualHost *:80>
# Папка, в которой будет корень вашего хоста.
DocumentRoot "C:/apache/test.ru/www"
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru
# Алиас (добавочное имя) домена.
ServerAlias www.test.ru
# Файл, в который будут записываться ошибки.
ErrorLog "C:/apache/test.ru/error.log"
# Файл журнала доступа к хосту.
CustomLog "C:/apache/test.ru/access.log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/apache/localhost/www/phpmyadmin"
ServerName localhost/www
ServerAlias /pma "C:/apache/localhost/www/phpmyadmin"
ErrorLog "C:/apache/localhost/www/error.log"
CustomLog "C:/apache/localhost/www/access.log" common
</VirtualHost>
|
Файл "C:\WINDOWS\system32\drivers\etc\hosts" выглядит так:
127.0.0.1 localhost
127.0.0.1 www.test.ru
127.0.0.1 test.ru
127.0.0.1 www.phpmyadmin
|
А вот как прописать хосты для site1 и site2?
может по аналогии со сделанным уже будет так: в файле "C:\Apache2\conf\extra\httpd-vhosts.conf"
<VirtualHost *:80>
# Папка, в которой будет корень вашего хоста.
DocumentRoot "C:/apache/test.ru/www/site1"
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru/site1
# Алиас (добавочное имя) домена.
ServerAlias /site1 "C:/apache/test.ru/www/site1"
# Файл, в который будут записываться ошибки.
ErrorLog "C:/apache/test.ru/site1/error.log"
# Файл журнала доступа к хосту.
CustomLog "C:/apache/test.ru/site1/access.log" common
</VirtualHost>
|
Тогда файл "C:\WINDOWS\system32\drivers\etc\hosts" выглядит так:
127.0.0.1 localhost
127.0.0.1 www.test.ru
127.0.0.1 test.ru
127.0.0.1 www.phpmyadmin
127.0.0.1 www.test.ru/site1
127.0.0.1 test.ru/site1
|
??? | |
|
|
|
|
|
|
|
для: mjc66
(14.05.2012 в 09:54)
| | А зачем, просто заводите в C:/apache/test.ru/www подпапку site1 и обращайте к test.ru/site1? В Apache для этого больше ничего дополнительно настраивать не нужно. | |
|
|
|
|
|
|
|
для: cheops
(14.05.2012 в 11:02)
| | При таком подходе как вы предлагаете, теряются пути к вспомогательным файлам, например к .css | |
|
|
|
|
|
|
|
для: mjc66
(14.05.2012 в 11:09)
| | Просто указывайте абсолютный путь от корня сайта к css, например, /css/main.css и ничего теряться не будет (в любом случае это не задача Apache, скорее браузера). | |
|
|
|
|
|
|
|
для: cheops
(14.05.2012 в 11:13)
| | Вы мне лучше скажите, если вернуться к первому моему посту, правильно ли я прописал хосты? Ну и соответственно верно ли мое предположение относительно хоста для site1 в моей ситуации? | |
|
|
|
|
|
|
|
для: mjc66
(14.05.2012 в 11:23)
| | >Вы мне лучше скажите, если вернуться к первому моему посту, правильно ли я прописал хосты?
>127.0.0.1 localhost
>127.0.0.1 www.test.ru
>127.0.0.1 test.ru
>127.0.0.1 www.phpmyadmin
Правильно
>127.0.0.1 www.test.ru/site1
>127.0.0.1 test.ru/site1
Неправильно
>Ну и соответственно верно ли мое предположение относительно хоста для site1 в моей
>ситуации?
Нет, не верно, в хостах нельзя указывать путь, это лишь хосты, т.е. адреса, с точкой в качестве разделителя. | |
|
|
|
|
|
|
|
для: cheops
(14.05.2012 в 11:53)
| | Хорошо, если я все правильно понял, то учитывая записи в файле "C:\Apache2\conf\extra\httpd-vhosts.conf":
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "C:/apache/localhost/www"
ServerName localhost
ErrorLog "C:/apache/localhost/error.log"
CustomLog "C:/apache/localhost/access.log" common
</VirtualHost>
<VirtualHost *:80>
# Папка, в которой будет корень вашего хоста.
DocumentRoot "C:/apache/test.ru/www"
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru
# Алиас (добавочное имя) домена.
ServerAlias www.test.ru
# Файл, в который будут записываться ошибки.
ErrorLog "C:/apache/test.ru/error.log"
# Файл журнала доступа к хосту.
CustomLog "C:/apache/test.ru/access.log" common
</VirtualHost>
<VirtualHost *:80>
# Папка, в которой будет корень вашего хоста.
DocumentRoot "C:/apache/test.ru/www/site1"
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru/site1
# Алиас (добавочное имя) домена.
ServerAlias /site1 "C:/apache/test.ru/www/site1"
# Файл, в который будут записываться ошибки.
ErrorLog "C:/apache/test.ru/site1/error.log"
# Файл журнала доступа к хосту.
CustomLog "C:/apache/test.ru/site1/access.log" common
</VirtualHost>
<VirtualHost *:80>
# Папка, в которой будет корень вашего хоста.
DocumentRoot "C:/apache/test.ru/www/site2"
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru/site2
# Алиас (добавочное имя) домена.
ServerAlias /site2 "C:/apache/test.ru/www/site2"
# Файл, в который будут записываться ошибки.
ErrorLog "C:/apache/test.ru/site2/error.log"
# Файл журнала доступа к хосту.
CustomLog "C:/apache/test.ru/site2/access.log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/apache/localhost/www/phpmyadmin"
ServerName localhost/www
ServerAlias /pma "C:/apache/localhost/www/phpmyadmin"
ErrorLog "C:/apache/localhost/www/error.log"
CustomLog "C:/apache/localhost/www/access.log" common
</VirtualHost>
|
тогда файл "C:\WINDOWS\system32\drivers\etc\hosts" выглядит так:
127.0.0.1 localhost
127.0.0.1 www.test.ru
127.0.0.1 test.ru
127.0.0.1 www.phpmyadmin
127.0.0.1 www.site1
127.0.0.1 www.site2
|
| |
|
|
|
|
|
|
|
для: mjc66
(14.05.2012 в 12:07)
| | >ServerName test.ru/site1
Нет, так вообще нельзя писать, если вы заводите www.site1, то и пишите
А потом обращайтесь к файлам, как к http://www.site1/main.css | |
|
|
|
|
|
|
|
для: cheops
(14.05.2012 в 12:22)
| | Спасибо Вам, теперь разобрался. Мне собственно эти виртуальные хосты и нужны были чтобы не копаться и не менять абсолютные пути в ссылках. Теперь все работает. | |
|
|
|