Apache mi dà 403 Accesso negato quando DocumentRoot punta a due unità diverse
-
01-07-2019 - |
Domanda
Mi viene vietato l'accesso 403 quando tento di aprire una pagina sotto un vhost in cui la radice del documento si trova su un'unità diversa da quella su cui si trova Apache.Ho installato utilizzando la versione di Apachefriends.Questo è il mio file httpd-vhosts.conf:
NameVirtualHost 127.0.0.1
u003CVirtualHost 127.0.0.1>ServerName Foo.Localhost DocumentRoot "C:/XAMPP/HTDOCS/FOO/PUBLIC"u003C/VirtualHost>
u003CVirtualHost 127.0.0.1>Servername bar.localhost DocumentRoot "F:/bar/pubblico"u003C/VirtualHost>
Quando apro bar.localhost nel mio browser, Apache mi dà 403 Accesso negato.Ho provato a impostare molti diritti di accesso diversi, anche diritti completi per tutti, ma nulla di ciò che ho provato ha aiutato.
Modificare:Grazie!Per riferimento futuro, aggiungi 'Indici delle opzioni' all'interno per mostrare gli indici delle directory.
Soluzione
Non ne avevi bisogno
Options Indexes FollowSymLinks MultiViews Includes ExecCGI
AllowOverride All
Order Allow,Deny
Allow from all
Require all granted
l'unica cosa di cui hai bisogno è...
Require all granted
...all'interno della sezione directory.
Vedi lato aggiornamento Apache 2.4:
Altri suggerimenti
Da qualche parte, devi dire ad Apache che le persone possono vedere il contenuto di questa directory.
<Directory "F:/bar/public">
Order Allow,Deny
Allow from All
# Any other directory-specific stuff
</Directory>
Per Apache 2.4.2:stavo ottenendo 403:Vietato continuamente mentre provavo ad accedere a WAMP sul mio desktop Windows 7 dal mio iPhone tramite WiFi.Nessuno blog, ho trovato la soluzione: aggiungi Richiedi tutto concesso Dopo Permettere tutto nel <Directory> sezione.Quindi ecco come funziona il mio <Directory> appare come all'interno di <VirtualHost>
<Directory "C:/wamp/www">
Options Indexes FollowSymLinks MultiViews Includes ExecCGI
AllowOverride All
Order Allow,Deny
Allow from all
Require all granted
</Directory>
L'ho risolto rimuovendo il codice seguente da
C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf file
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
E aggiunse
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "c:/wamp/www"
ServerName localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost>
E ha funzionato a meraviglia