Apache me donne 403 accès interdit lorsque DocumentRoot pointe sur deux lecteurs différents
-
01-07-2019 - |
Question
J'obtiens un accès 403 interdit lorsque j'essaie d'ouvrir une page sous un hôte virtuel où la racine du document est assise sur un lecteur différent de celui où se trouve apache. J'ai installé en utilisant la version Apachefriends. Voici mon fichier httpd-vhosts.conf:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
ServerName foo.localhost
DocumentRoot "C:/xampp/htdocs/foo/public"
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerName bar.localhost
DocumentRoot "F:/bar/public"
</VirtualHost>
Lors de l'ouverture de bar.localhost dans mon navigateur, Apache me donne l'accès 403 interdit. J'ai essayé de définir de nombreux droits d'accès différents, même des droits complets pour tout le monde, mais rien de ce que j'ai essayé n'a aidé.
Edit: Merci! Pour référence future, ajoutez "Index des options" dans pour afficher les index de répertoire.
La solution
Vous n'avez pas besoin
Options Indexes FollowSymLinks MultiViews Includes ExecCGI
AllowOverride All
Order Allow,Deny
Allow from all
Require all granted
la seule chose dont vous avez besoin est ...
Require all granted
... à l'intérieur de la section de répertoire.
Voir la mise à niveau d'Apache 2.4:
Autres conseils
Quelque part, vous devez dire à Apache que les utilisateurs sont autorisés à voir le contenu de ce répertoire.
<Directory "F:/bar/public">
Order Allow,Deny
Allow from All
# Any other directory-specific stuff
</Directory>
Pour Apache 2.4.2 : je recevais continuellement 403: Interdit lorsque j'essayais d'accéder à WAMP sur mon bureau Windows 7 à partir de mon iPhone en WiFi. Sur un blog , j'ai trouvé la solution: ajouter Exiger que tous soient acceptés . after Autoriser tout dans la section < Répertoire > . Voici donc à quoi ressemble ma section & Lt; Directory & Gt; à l'intérieur de & Lt; VirtualHost & Gt;
<Directory "C:/wamp/www">
Options Indexes FollowSymLinks MultiViews Includes ExecCGI
AllowOverride All
Order Allow,Deny
Allow from all
Require all granted
</Directory>
Je l'ai corrigé en supprimant le code ci-dessous de
FichierC: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-vhosts.conf
<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>
Et ajouté
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "c:/wamp/www"
ServerName localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost>
Et ça a marché comme un charme