j'ai un problème dans Apache 2.4 dans Ubuntu 13.10 . J'essaie de changer la racine du document en /home/fandi/public_htmlEt tout fonctionne bien. Mais j'essaie de créer un dossier dans mon public_html/j'obtiens une erreur comme celle-ci:
[Sat Jan 25 10:59:50.149441 2014] [autoindex:error] [pid 1093] [client 127.0.0.1:39901] AH01276: Cannot serve directory /home/fandi/public_html/report_php/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive
Je dois créer le fichier index.html
, index.php
et un autre fichier index.xxx
.
Par défaut, il doit afficher l'index du répertoire . Comment activer l'index du répertoire?
Ceci est mon fichier 000-default.conf
:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/fandi/public_html
ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined
<Directory "/home/fandi/public_html">
Options All
AllowOverride All
Require all granted
Options Indexes FollowSymLinks
</Directory>
</VirtualHost>
# vim: syntax=Apache ts=4 sw=4 sts=4 sr noet
S'il vous plaît aider, merci avant ^^
Il s'avère que vous devez désactiver DirectoryIndex dans Apache 2.4 pour obtenir des index automatiques.
DirectoryIndex disabled
Options Indexes
Si DirectoryIndex n'est pas désactivé, l'index automatique ne fonctionne pas et Apache envoie un fichier 403 interdit ou un fichier 404 introuvable si vous utilisez fastcgi/php-fpm.
Voici les lignes du journal des erreurs correspondantes (à des fins de recherche):
[authz_core:error] client denied by server configuration:
[proxy_fcgi:error] Got error 'Primary script unknown\n'
Options All <--turn on all options
Options Indexes FollowSymLinks <--- replace previously set options with these two
La deuxième ligne est redondante, car vous avez déjà activé toutes les options avec la première ligne et, comme les deux options ne sont pas précédées du préfixe +
, elles remplacent en fait la liste complète des options activées, avec All
avec seulement ces deux options individuelles. .
J'ai réussi à le faire fonctionner
En gros, il semble qu'Apache2.4 ne transfère pas les paramètres de DocumentRoot à vos hôtes virtuels, à moins que ceux-ci ne soient des sous-dossiers de DocumentRoot, comme les versions précédentes le faisaient. Quel genre de sens a du sens, mais le changement devrait être documenté et ce n’était pas le cas.
Ce que je veux dire, c’est que dans votre httpd.conf vous avez (c’est un OS X):
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
Options +Indexes +FollowSymLinks
# etc
</Directory>
Et puis dans votre extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/pth/to/somewhere/completely/different"
ServerName my-virtual-Host.dev
ErrorLog "/private/var/log/Apache2/my-virtual-Host.dev-error_log"
CustomLog "/private/var/log/Apache2/my-virtual-Host.dev-access_log" common
</VirtualHost>
Le VH héritait de tous les paramètres - pas plus s'il ne s'agit pas d'un sous-dossier. Donc, ce que vous devez faire est de copier et coller les paramètres dans le VH (ou vous pouvez probablement créer un autre <directory
si vous avez beaucoup de VH au même endroit).
<VirtualHost *:80>
DocumentRoot "/pth/to/somewhere/completely/different"
ServerName my-virtual-Host.dev
ErrorLog "/private/var/log/Apache2/my-virtual-Host.dev-error_log"
CustomLog "/private/var/log/Apache2/my-virtual-Host.dev-access_log" common
<Directory "/pth/to/somewhere/completely/different">
Options +Indexes
</Directory>
</VirtualHost>
C'est le + Index qui fait la magie.
J'ai eu le même problème avec Centos 7.2 et Apache 2.4.
Dans la nouvelle installation, le problème est probablement dû à welcome.conf
qui désactive les index d'option à chaque emplacement:
<LocationMatch "^/+$">
Options -Indexes
ErrorDocument 403 /.noindex.html
</LocationMatch>
Ce fichier est restauré à chaque mise à niveau d'Apache. Vous devez ensuite commenter ou supprimer les lignes précédentes.
Dans le journal, vous pouvez trouver une erreur
[Dim Déc 03 17: 38: 17.649269 2017] [autoindex: erreur] [pid 4806] [client :: 1: 57323] AH01276: Impossible de servir le répertoire/etc/httpd/conf/htdocs /: Aucune correspondance DirectoryIndex () trouvée et index de répertoire généré par le serveur interdits par la directive Options
réparer:-
alors vous devez supprimer la ligne dans /etc/httpd/conf.d/welcome.conf
en dessous de la configuration existante: -
<LocationMatch "^/+$">
Options -Indexes
ErrorDocument 403 /.noindex.html
</LocationMatch>
résolu avec la configuration ci-dessous,: - a commenté une ligne.
<LocationMatch "^/+$">
#Options -Indexes
ErrorDocument 403 /.noindex.html
</LocationMatch>
Ajoutez cette ligne à votre fichier vhost.conf pour le site
DirectoryIndex default.html
Et vous êtes tous ensemble
pour les personnes futures, si vous suivez tout ce qui précède et que le problème persiste, essayez ceci:
httpd.conf(make sure belows are open):
LoadModule alias_module modules/mod_alias.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_Host_module modules/mod_authz_Host.so
LoadModule autoindex_module modules/mod_autoindex.so
Include conf/extra/httpd-autoindex.conf
extra/httpd-autoindex.conf:
<Directory "change to your directory">