Добавление Apache VirtualHost, DocumentRoot изменений localhost в DocumentRoot VirtualHost - PullRequest
4 голосов
/ 05 марта 2012

Все отлично работает в моей Windows 7.

Проблема заключается в том, что когда я добавляю domain1.com в качестве VirtualHost, DocumentRoot локального хоста изменяется на DocumentRoot VirtualHost.

Например: при посещении http://localhost, открывается DocumentRoot, который я указал для domain1.com, а не тот, который указан в httpd.conf.

Мой файл httpd-vhosts.conf:

NameVirtualHost 127.0.0.1:80
NameVirtualHost domain1.com:80
<VirtualHost domain1.com:80>
<Directory "e:/program files/apache/htdocs/domain1.com">
    Options FollowSymLinks Indexes
    AllowOverride All
    Order deny,allow
    allow from All
</Directory>
ServerName domain1.com
ServerAlias domain1.com
ScriptAlias /cgi-bin/ "e:/program files/apache/htdocs/domain1.com/cgi-bin/"
DocumentRoot "e:/program files/apache/htdocs/domain1.com"
ErrorLog "E:/Program Files/apache/logs/domain1.com.err"
CustomLog "E:/Program Files/apache/logs/domain1.com.log" combined
</VirtualHost>

Файл My Hosts:

127.0.0.1   domain1.com

Мой файл httpd.conf:

DocumentRoot "e:/program files/apache/htdocs"
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
<Directory "e:/program files/apache/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Я знаю, что одним из решений является добавление VirtualHost с ServerName как 127.0.0.1 или localhost, ноЯ избегаю этого.

Могу ли я сделать DocumentRoot локального хоста, указанный в httpd.conf, по умолчанию?

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Спасибо, Джигар.

1 Ответ

9 голосов
/ 12 декабря 2012

как указано в https://httpd.apache.org/docs/2.2/vhosts/name-based.html

"Если вы добавляете виртуальные хосты на существующий веб-сервер, вы также должны создать блок <VirtualHost> для существующего хоста. ServerName и DocumentRoot, включенные в этот виртуальный хост, должны совпадать с глобальными. ServerName и DocumentRoot. Сначала перечислите этот виртуальный хост в файле конфигурации, чтобы он действовал как хост по умолчанию. "

...