виртуальный хост xampp - всегда загружает htdocs

Я пытаюсь создать виртуальный хост на своем локальном хосте (XAMPP). Пробовал все возможные комбинации, но у меня всегда загружаются htdocs вместо конкретной папки

Вот файл hosts:

127.0.0.1 localhost
::1 localhost
127.0.0.1 devsnappy

Вот httpd-vhosts.conf:

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot E:/xampp/htdocs/snappy/public
    ServerName devsnappy
    <Directory "E:/xampp/htdocs/snappy/public">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Какие-либо предложения?


person Wowzaaa    schedule 16.07.2013    source источник
comment
Вы правильно перезапустили httpd ?   -  person avignat    schedule 16.07.2013


Ответы (4)


Вот руководство по добавлению vhost в xampp

Кажется, вы что-то упустили с файлом hosts.

Например, предположим, что у вас есть еще один веб-сайт для ClientB. Вы должны добавить 127.0.0.1 clientB.local > в файл hosts, и C:\xampp\apache\conf\extra\httpd-vhosts.conf будет выглядеть так:

NameVirtualHost *
  <VirtualHost *>
    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost
  </VirtualHost>
  <VirtualHost *>
    DocumentRoot "C:\Documents and Settings\Me\My Documents\clientA\website"
    ServerName clientA.local
  <Directory "C:\Documents and Settings\Me\My Documents\clientA\website">
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>
<VirtualHost *>
    DocumentRoot "C:\Documents and Settings\Me\My Documents\clientB\website"
    ServerName clientB.local
  <Directory "C:\Documents and Settings\Me\My Documents\clientB\website">
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

И перезапустите httpd

person avignat    schedule 16.07.2013
comment
Я не думаю, что это имеет какое-либо отношение к файлу hosts. Лучше предположить, что он просто забыл перезапустить сервер apache после изменения httdp-vhosts.conf. - person Cyclonecode; 16.07.2013
comment
я скопировал пример из руководства... изменил пути... перезапустил и заработал... затем вернулся к моему пользовательскому имени виртуального хоста... перезапустил и заработал... я не совсем понимаю, что такое pb (это руководство было первым, которое я сделал), но если у кого-то такой же pb, как у меня, это может помочь следовать этому ответу ... всем спасибо - person Wowzaaa; 16.07.2013
comment
+1 - Извините, я ошибся, я думал, вы говорили о файле /etc/hosts. - person Cyclonecode; 16.07.2013
comment
Работал и для меня. +1 за исправление :) - person Altaf Hussain; 21.04.2016
comment
Извините, но эта ссылка на руководство не работает, не могли бы вы обновить? - person J. Doe; 30.08.2016

Для тех, кто читает это и никакое решение не поможет вам, это то, что помогло мне.

Просто раскомментируйте эту строку Include в вашем httpd.conf:

# Virtual hosts
Include etc/extra/httpd-vhosts.conf

Таким образом, изменения, сделанные вами в файле etc/extra/httpd-vhosts.conf, станут доступными!

После этого не забудьте перезапустить сервер Apache!

person TheKitMurkit    schedule 17.01.2017
comment
Спас мой день. Спасибо ‹3 ‹3 :* :* - person Mia; 15.06.2017
comment
о боже, я только что потратил впустую 1 час своей драгоценной жизни, возясь с файлом httpd-vhosts.conf, чтобы наконец найти, что он был прокомментирован в httpd.conf, спасибо, что указали на это! - person metatron; 23.03.2018

О, мне было очень больно заставить его работать в Apache 2.4.9. Я нашел много руководств, но не могу заставить его работать.

МОЕ РЕШЕНИЕ ДЛЯ APACHE 2.4 И ВЫШЕ ВЕРСИИ. Я тестировал его с Apache 2.4.9

Вам нужно отредактировать два файла. ПОЖАЛУЙСТА, СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИИ ЭТИХ ДВУХ ФАЙЛОВ ПЕРЕД ВНЕСЕНИЕМ ИЗМЕНЕНИЙ. Если вы напишете что-то не так, ваш локальный хост не будет работать, даже если вы удалите xampp, а затем снова установите xampp.

ШАГ 1:

Изменить этот файл

C:\Windows\System32\драйверы\etc\hosts

Откройте этот файл с помощью «Запуск от имени администратора» из Блокнота (очень важно). Вы можете сделать это с помощью

Меню «Пуск» > «Блокнот» > щелкните правой кнопкой мыши > «Запуск от имени администратора» > «Открыть файл».

добавьте эти две строки в конец этого файла

127.0.0.1       testsite.dev
127.0.0.1       www.testsite.dev

Либо вы идете testsite.dev, либо www.testsite.dev, теперь он попытается получить доступ с вашего локального компьютера, а не из Интернета.

ШАГ 2:

E:\xampp\apache\conf\extra\httpd-vhosts.conf

Вы можете редактировать этот файл как обычно, нет необходимости запускать этот файл как «Запуск от имени администратора». Добавьте следующие строки в конец этого файла.

NameVirtualHost *:80
<VirtualHost *:80> 
    DocumentRoot "E:/xampp/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "E:/xampp/htdocs/htc"
    ServerName testsite.dev
    ServerAlias www.testsite.dev
</VirtualHost>

Я установил свой xampp на диск E, поэтому, когда вы копируете отсюда, убедитесь, что вы изменили его в соответствии с вашей установкой xampp. Последняя часть мало интересна. Я указываю на это зелье.

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "E:/xampp/htdocs/htc"
    ServerName testsite.dev
    ServerAlias www.testsite.dev
</VirtualHost>

Где вы можете найти этот код? В Интернете вы можете найти его во многих местах, но он может не сработать для вас, так как этот код будет отличаться от вашей версии Apache. ТАК КАКОЕ РЕШЕНИЕ?

В конце файла вы увидите несколько строк с комментариями, чтобы показать вам демо, как настроить виртуальный хост, просто скопируйте эти строки и внесите необходимые изменения, и это будет работать для вас. Я прикрепил скриншот для лучшего понимания

http://postimg.org/image/5pug9f42p/

person Rocker Maruf    schedule 10.12.2014

  1. Не используйте .DEV, реестр теперь принадлежит Google, и он заставляет ваш Chrome использовать SSL (443). Попробуйте .app или .lan.

  2. Убедитесь, что ваш браузер не загружает HTTPS (порт 443), а Apache подключается только к порту 80, например ‹VirtualHost *:80›.

person Amadeus    schedule 05.12.2020