Ошибка добавления VirtualHost: доступ запрещенной ошибки 403 (XAMPP) (Windows 7)
У меня установлена ОС XAMPP на Windows 7.
Как только я добавляю VirtualHost в httpd-vhosts.conf, ОБА "обычный" http://localhost
И новый dropbox.local
не работают.
Вот что я добавил в свой httpd-vhosts.conf
:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
ServerName dropbox.local
ServerAlias www.dropbox.local
ErrorLog "logs/dropbox.local-error.log"
CustomLog "logs/dropbox.local-access.log" combined
</VirtualHost>
Поэтому я посмотрел на свой dropbox.local-error.log
любую информацию:
[Thu Feb 02 10:41:57 2012] [error] [client 127.0.0.1] client denied by server configuration: E:/Documenten/Dropbox/Dropbox/dummy-htdocs/
Эта ошибка, кажется, решена добавлением
<directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
Allow from all
</directory>
Но теперь я получаю эту ошибку в dropbox.local-error.log
:
[Thu Feb 02 10:45:56 2012] [error] [client ::1] Directory index forbidden by Options directive: E:/Documenten/Dropbox/Dropbox/dummy-htdocs/
Более того, когда я пытаюсь получить доступ к http://localhost
, я не получаю никакой ошибки в обычном error.log
, хотя я получаю error 403
, когда пытаюсь получить к нему доступ.
Кто-нибудь может помочь... Это сводит меня с ума: S
ОБНОВЛЕНИЕ:
Также в httpd.conf
есть следующее (я видел, что оно упоминалось несколько раз, поэтому, прежде чем кто-то это скажет):
<IfModule dir_module>
DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
home.php home.pl home.cgi home.asp home.shtml home.html home.htm
</IfModule>
Ответы
Ответ 1
Хорошо: Это то, что я сделал сейчас, и он решил:
Теперь мой httpd-vhosts.conf
выглядит следующим образом:
<VirtualHost dropbox.local:80>
DocumentRoot "E:/Documenten/Dropbox/Dropbox/dummy-htdocs"
ServerName dropbox.local
ErrorLog "logs/dropbox.local-error.log"
CustomLog "logs/dropbox.local-access.log" combined
<Directory "E:/Documenten/Dropbox/Dropbox/dummy-htdocs">
# AllowOverride All # Deprecated
# Order Allow,Deny # Deprecated
# Allow from all # Deprecated
# --New way of doing it
Require all granted
</Directory>
</VirtualHost>
Сначала я увидел, что необходимо установить параметры <Directory xx:xx>
. Поэтому я положил <Directory > [..] </Directory>
-part INSIDE <VirtualHost > [..] </VirtualHost>
.
После этого я добавил AllowOverride AuthConfig Indexes
в параметры <Directory>
.
Теперь http://localhost
также указывает на dropbox-virtualhost. Поэтому я добавил dropbox.local
в <VirtualHost *:80>
, что делает его как <VirtualHost dropbox.local:80>
НАКОНЕЦ оно работает: D!
Я счастливый человек!:):)
Я надеюсь, что кто-то другой сможет использовать эту информацию.
Ответ 2
Для меня сработало, когда я изменил "каталог" контента на это:
<Directory "*YourLocation*">
Options All
AllowOverride All
Require all granted
</Directory>
Ответ 3
Для меня (также XAMPP на Windows 7) это то, что сработало:
<Directory "C:\projects\myfolder\htdocs">`
AllowOverride All
Require all granted
Options Indexes FollowSymLinks
</Directory>`
Именно эта строка вызовет 403:
Order allow,deny
Ответ 4
Я использую XAMPP 1.6.7 в Windows 7. Эта статья работала для меня.
Я добавил следующие строки в файле httpd-vhosts.conf
в C:/xampp/apache/conf/extra
.
Я также раскомментировал строку # NameVirtualHost *:80
<VirtualHost mysite.dev:80>
DocumentRoot "C:/xampp/htdocs/mysite"
ServerName mysite.dev
ServerAlias mysite.dev
<Directory "C:/xampp/htdocs/mysite">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
После перезапуска apache он все еще не работает.
Затем мне нужно было выполнить шаг 9, упомянутый в статье, отредактировав файл C:/Windows/System32/drivers/etc/hosts
.
# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
::1 localhost
127.0.0.1 mysite.dev
Затем я получил работу http://mysite.dev
Ответ 5
Спасибо, это сработало! Но я заменил это
AllowOverride AuthConfig Indexes
с этим
AllowOverride All
В противном случае .htaccess не работал: у меня возникли проблемы с RewriteEngine и сообщение об ошибке "RewriteEngine здесь не разрешено".
Ответ 6
Выше предложения не сработали для меня. Я запустил его на своих окнах, используя вдохновение из
http://butlerccwebdev.net/support/testingserver/vhosts-setup-win.html
Для Http внутри httpd-vhosts.conf
<Directory "D:/Projects">
AllowOverride All
Require all granted
</Directory>
##Letzgrow
<VirtualHost *:80>
DocumentRoot "D:/Projects/letzgrow"
ServerName letz.dev
ServerAlias letz.dev
</VirtualHost>
Для использования Https (Open SSL) внутри httpd-ssl.conf
<Directory "D:/Projects">
AllowOverride All
Require all granted
</Directory>
##Letzgrow
<VirtualHost *:443>
DocumentRoot "D:/Projects/letzgrow"
ServerName letz.dev
ServerAlias letz.dev
</VirtualHost>
Надеюсь, это поможет кому-то!
Ответ 7
После стольких изменений и попыток и ответов.
Для
SOs: Windows 7/Windows 10
Xampp Version: Xampp or Xampp portable 7.1.18/7.3.7 (control panel v3.2.4)
Installers: win32-7.1.18-0-VC14-installer/xampp-windows-x64-7.3.7-0-VC15-installer
- Не редактируйте другие файлы, такие как httpd-xampp
- Остановите Apache
- Откройте httpd-vhosts.conf, расположенный в
**your_xampp_directory**\apache\conf\extra\
(каталог XAMPP может быть по умолчанию: C:/xampp/htdocs
)
- Удалите хэш перед следующей строкой (приблизительно строка 20):
NameVirtualHost *:80
(это может быть необязательным)
Добавьте следующие виртуальные хосты в конец файла, учитывая пути к вашим каталогам:
##127.0.0.1
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost>
##127.0.0.2
<VirtualHost *:80>
DocumentRoot "F:/myapp/htdocs/"
ServerName test1.localhost
ServerAlias www.test1.localhost
ErrorLog "logs/myapp-error.log"
CustomLog "logs/myapp-access.log" common
<Directory "F:/myapp/htdocs/">
#Options All # Deprecated
#AllowOverride All # Deprecated
Require all granted
</Directory>
</VirtualHost>
Отредактируйте (с правами администратора) свой хост файл (расположенный в Windows\System32\drivers\etc
, но с помощью следующего совета: только один петлевой ip для каждого домена:
127.0.0.1 localhost
127.0.0.2 test1.localhost
127.0.0.2 www.test1.localhost
Для каждого экземпляра повторите второй блок, первый является основным блоком только для целей "по умолчанию".
Ответ 8
Я использую xampp 1.7.3. Используя вдохновение отсюда: xampp 1.7.3 обновление запрещенных виртуальных хостов запрещено
INSTEAD OF add <Directory> .. </Directory>
в httpd-vhosts.conf, я добавляю его в httpd.conf сразу после <Directory "D:/xampplite/cgi-bin"> .. </Directory>
.
Вот что я добавляю в httpd.conf:
<Directory "D:/CofeeShop">
AllowOverride All
Options All
Order allow,deny
Allow from all
</Directory>
И вот что я добавляю в httpd-vhosts.conf
<VirtualHost *:8001>
ServerAdmin [email protected]
DocumentRoot "D:/CofeeShop"
ServerName localhost:8001
</VirtualHost>
Я также добавляю Listen 8001
в httpd.conf для завершения настройки.
Надеюсь, что это поможет
Ответ 9
Для многих это проблема разрешения, но для меня оказывается, что ошибка была вызвана ошибкой в той форме, которую я пытался отправить. Чтобы быть конкретным, я случайно поставил знак "больше" после значения "действие". Поэтому я бы предложил вам второй раз взглянуть на ваш код.