Настройка виртуального хоста и перенаправление локального хоста в папку xampp
У меня проблема с созданием виртуального хоста. Я использую Windows 7 x64 Professional. В файле C:\Windows\System32\drivers\etc\hosts
у меня есть только следующие строки:
127.0.0.1 myhost
127.0.0.1 www.myhost
И в файле C:\xampp\apache\conf\extra\httpd-vhosts.conf
у меня есть это:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/"
ServerName localhost
ServerAlias www.localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/Users/Me/Dropbox/Project/public"
ServerName myhost
ServerAlias www.myhost
<Directory "C:/Users/Me/Dropbox/Project/public">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
И, конечно же, я обновил свой сервер Apache после добавления этих строк в эти файлы.
Несчастливо набрав myhost
или www.myhost
в моем браузере, перенаправляйте меня на myhost/xampp
.
У меня уже есть поиск и я нашел в google, а также в описании stackoverflow, как настроить виртуальные хосты с помощью xampp, но как я могу узнать, что я сделал все в порядке. Я знаю, что моя проблема не нова, но я не нашел для меня рабочего решения.
Я также признал, что ввод localhost
в моем браузере перенаправляет меня alsto localhost/xampp
. Я не знаю, связаны ли эти проблемы в моем случае.
Ответы
Ответ 1
У меня была такая же проблема. Ваш первый запрос перенаправляется в корневой каталог htdocs. Если вы посмотрите на index.php в каталоге htdocs, вы увидите очень короткий код, который принимает входящий запрос и перенаправляет его в каталог xampp.
Я исправил это, поиграв с файлом httpd-vhosts.conf. В вашем случае попробуйте сделать следующие изменения:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
DocumentRoot "C:\xampp\htdocs\
ServerName localhost
</VirtualHost>
<VirtualHost www.myhost>
DocumentRoot "C:\Users\Me\Dropbox\Project\public"
ServerName www.myhost
ServerAlias www.myhost
<Directory "C:\Users\Me\Dropbox\Project\public">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Ответ 2
У меня была аналогичная проблема, и я обнаружил, что мне нужно перейти к моему основному файлу httpd.conf Apache24 и раскомментировать строку 501 "Включить conf/extra/httpd-vhost.conf"
Раньше я никогда не использовал это, и он все еще исчез. Надеюсь, это помогло кому-то найти другие ответы здесь. Теперь мой Apache24 может видеть мой файл-vhost.
Ответ 3
Вам нужно включить виртуальный хостинг на основе имен.
В верхней части файла в C:\xampp\apache\conf\extra\httpd-vhosts
uncomment #NameVirtualHost *: 80
то есть. из:
#
# Use name-based virtual hosting.
#
#NameVirtualHost *:80
To:
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
(Обратите внимание, что последняя строка теперь раскоментирована).
Работала для меня как шарм.:)