Ошибка добавления 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

  1. Не редактируйте другие файлы, такие как httpd-xampp
  2. Остановите Apache
  3. Откройте httpd-vhosts.conf, расположенный в **your_xampp_directory**\apache\conf\extra\ (каталог XAMPP может быть по умолчанию: C:/xampp/htdocs)
  4. Удалите хэш перед следующей строкой (приблизительно строка 20): NameVirtualHost *:80 (это может быть необязательным)
  5. Добавьте следующие виртуальные хосты в конец файла, учитывая пути к вашим каталогам:

    ##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>
    
  6. Отредактируйте (с правами администратора) свой хост файл (расположенный в 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

Для многих это проблема разрешения, но для меня оказывается, что ошибка была вызвана ошибкой в ​​той форме, которую я пытался отправить. Чтобы быть конкретным, я случайно поставил знак "больше" после значения "действие". Поэтому я бы предложил вам второй раз взглянуть на ваш код.