J'utilise le plugin dompdf pour codeigniter: http://codeigniter.com/wiki/PDF_generation_using_dompdf/
générer des fichiers PDF à partir d'un formulaire. Cela fonctionne sur localhost, mais sur le serveur live, le message d'erreur suivant s'affiche:
Directory index forbidden by Options directive: /var/www/vhosts/domain.co.uk/httpdocs/mm/userdata/account1/invoices/
Une idée de ce que cela signifie? J'ai cherché des réponses et en ai trouvé quelques-unes qui suggèrent de modifier le fichier httpd.conf, mais je n'y ai pas accès.
J'ai également essayé d'ajouter un fichier index.html vide au répertoire racine et au répertoire du document (comme suggéré ailleurs, mais en vain).
Toute aide grandement appréciée.
Merci!
Le fichier principal httpd.conf
ou le fichier .htaccess
de ce répertoire ou un répertoire parent proche inclut probablement:
Options -Indexes
Votre hôte devra peut-être le définir sur +Indexes
si vous n'avez pas accès à .htaccess
et souhaitez répertorier et parcourir le contenu du répertoire, en l'absence d'un index.html, index.php
par défaut, etc. Si le répertoire ne doit pas contenir de fichier par défaut et que vous ne l'activez pas Indexes
, vous ne pouvez cibler directement que les noms de fichiers du contenu qu’il contient.
L'option Indexes
est généralement désactivée par défaut sur de nombreuses installations Apache.
Tous les détails sont disponibles dans la documentation de base Apache sur Options
Cela signifie qu'il n'y a pas de document par défaut dans ce répertoire (index.html, index.php, etc ...). Sur la plupart des serveurs Web, cela signifierait qu’il afficherait une liste du contenu du répertoire. Mais montrer que ce répertoire est interdit par la configuration du serveur (Options -Indexes
)
Un autre problème que vous pourriez rencontrer si vous exécutiez RHEL (je l'ai rencontré) est qu'il existe une page d'accueil par défaut configurée avec le package httpd qui remplacera vos paramètres, même si vous mettez des index Options. Le fichier est dans /etc/httpd/conf.d/welcome.conf. Voir le lien suivant pour plus d’informations: http://wpapi.com/solved-issue-directory-index-forbidden-by-options-directive/
Index visibles dans un navigateur Web pour les répertoires ne contenant pas de fichier index.html ou index.php.
J'ai eu beaucoup de difficulté avec la configuration sur le serveur Web httpd de Scientific Linux pour ne plus afficher ces index.
directives du répertoire de l'hôte virtuel httpd.conf:
<Directory /home/mydomain.com/htdocs>
Options FollowSymLinks
AllowOverride all
Require all granted
</Directory>
et l'ajout de la ligne suivante à .htaccess:
Options -Indexes
Les index de répertoires apparaissaient toujours. Les paramètres .htaccess ne fonctionnaient pas!
Comment cela se pourrait-il, les autres paramètres de .htaccess fonctionnaient, alors pourquoi pas celui-ci? Qu'est-ce qui se passe? Cela devrait fonctionner! % # $ & ^ $% @ # !!
Modifiez la ligne Options de httpd.conf en:
Options +FollowSymLinks
et redémarrez le serveur Web.
Depuis la page de modification principale d'Apache: ( https://httpd.Apache.org/docs/2.4/mod/core.html#options )
Mélanger les options avec un + ou - avec ceux sans est pas une syntaxe valide et sera rejeté lors du démarrage du serveur par la vérification de la syntaxe avec un avorter.
Les index de répertoires Voilà n'apparaissaient plus pour les répertoires ne contenant pas de fichier index.html ou index.php.
De nouvelles entrées ont commencé à apparaître dans le journal 'error_log' lorsqu'une telle tentative d'accès au répertoire a été effectuée:
[Fri Aug 19 02:57:39.922872 2016] [autoindex:error] [pid 12479] [client aaa.bbb.ccc.ddd:xxxxx] AH01276: Cannot serve directory /home/mydomain.com/htdocs/dir-without-index-file/: No matching DirectoryIndex (index.html,index.php) found, and server-generated directory index forbidden by Options directive
Cette entrée provient du module Apache 'autoindex' avec un niveau de journal 'erreur' comme indiqué par [autoindex: erreur] du message d'erreur --- le format est [nom_module: loglevel].
Pour que ces nouvelles entrées ne soient plus consignées, vous devez modifier le niveau de journal (LogLevel) à un niveau supérieur (par exemple, "crit") afin d'en enregistrer moins - uniquement les messages d'erreur plus graves.
Voir les directives principales d'Apache 2.4 pour LogLevel .
émergent, alerte, critique, erreur, avertir, remarque, info, débogage, trace1, trace2, trace3, tracr4, trace5, trace6, trace7, trace8
Chaque niveau plus profond dans la liste enregistre tous les messages de tous les niveaux précédents.
Le niveau par défaut d'Apache 2.4 est "avertir". Par conséquent, tous les messages classés comme émergents, alertes, critiques, d'erreur et avertis sont écrits dans error_log.
Ajout de la ligne suivante dans la section <Directory> .. </ Directory> de httpd.conf:
LogLevel crit
Configuration de httpd.conf <Directory> .. </ Directory> de mon hôte virtuel:
<Directory /home/mydomain.com/htdocs>
Options +FollowSymLinks
AllowOverride all
Require all granted
LogLevel crit
</Directory>
et en ajoutant à/home/mydomain.com /htdocs/.htaccess, le répertoire racine du fichier .htaccess de votre site Web:
Options -Indexes
Si les messages de niveau 'erreur' ne vous dérangent pas, omettez
LogLevel crit
Plus d'auto-indexation des répertoires dans votre espace web. Aucun changement à .htaccess. Mais, besoin d’accéder aux fichiers de configuration httpd dans/etc/httpd
Éditez /etc/httpd/conf.modules.d/00-base.conf et commentez la ligne:
LoadModule autoindex_module modules/mod_autoindex.so
en ajoutant un # devant, puis enregistrez le fichier.
Dans le répertoire /etc/httpd/conf.d renommer (mv)
Sudo mv autoindex.conf autoindex.conf.<something_else>
Redémarrez httpd:
Sudo httpd -k restart
ou
Sudo apachectl restart
Autoindex_mod est maintenant désactivé.
Désactiver le module autoindex entrez la commande
Sudo a2dismod autoindex
pour activer le module autoindex entrez
Sudo a2enmod autoindex
Insérer ces lignes:
<Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs">
Options +Indexes
</Directory>
Dans votre fichier C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf
. Je suppose que vous utilisez l'hôte virtuel pour le développement.
Et bien sûr, redémarrez Apache.
Ajouter ceci dans conf.d a corrigé ce problème pour moi.
Options +Indexes +FollowSymLinks
Je me suis retrouvé coincé dans la même erreur, le problème venait d'une erreur de syntaxe dans une instruction MySql de mon code , en particulier ma variable $ _session manquait d'un "'. Il a fallu des heures pour le comprendre. parce que, dans le journal des erreurs, la déclaration était trompeuse. J'espère que cela aidera quelqu'un.