Использование XAMPP Vhosts не использует DocumentRoot

521
Dev Daniel

Я пытаюсь использовать 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> 
0

1 ответ на вопрос

0
jdwolf

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

Хорошо, я не совсем понимаю ваше значение, поэтому, прежде чем я объявлю все свои виртуальные хосты, у меня должно быть следующее: NameVirtualHost *: 80 написано в верхней части файла? Dev Daniel 6 лет назад 0
@DevDaniel Да, это правильно. jdwolf 6 лет назад 0