Я пытаюсь использовать xampp vhosts, и я заполнил DocumentRoot, но он не идет в корень документа, а вместо этого идет в корень htdocs. С доменным файлом My hosts:

127.0.0.1 www.testsite.com
127.0.0.1 testsite.com

127.0.0.1 www.testsite-cms.com
127.0.0.1 testsite-cms.com

127.0.0.1 localapp.com
127.0.0.1 www.localapp.com

Мой файл vhosts:

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/testsite"
ServerName testsite.com
ServerAlias www.testsite.com
<Directory "c:/xampp/htdocs/testsite">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/cms"
ServerName testsite-cms.com
ServerAlias www.testsite-cms.com
<Directory "c:/xampp/htdocs/cms">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/www"
ServerName localapp.com
ServerAlias www.localapp.com
<Directory "c:/xampp/htdocs/www">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>

1 ответ1

0

Вам нужно NameVirtualHost *:80 в верхней части вашей конфигурации. В противном случае сервер разрешит виртуальный хост на основе IP-адреса, который всегда соответствует первой директиве <VirtualHost> поскольку все ваши сайты имеют 127.0.0.1, к которой разрешается localhost. Поскольку он подстановочный, он также будет соответствовать вашему первому vhost, даже если он не был localhost, если он не был указан и в других ваших vhosts.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .