Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/08/2019, à 02:48

Nathaly01

[Résolu].htaccess cause des erreurs supplémentaires

Bonjour,
Je désire utiliser mes propres pages pour gérer les erreurs. J'ai donc commencé par l'erreur qui me semble la plus fréquente, la 404.
Dans le dossier que j'utilise pour mes essais, j'ai placé un fichier .htaccess avec cette instruction

ErrorDocument 404 /errors/page-404.php

Pour que Apache lise les fichier .htaccess, j'ai rajouté les instruction Directory dans mon fichier /etc/apache2.site-available/xxxx.fr-le-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>

        ServerName xxxx.fr
        ServerAlias www.xxxx.fr

        ServerAdmin xxxxxxxx@xxxx.fr
        DocumentRoot /html/xxxx.fr

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/xxxx.fr/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/xxxx.fr/privkey.pem

<Directory /html/xxxx.fr>
        Options Indexes FollowSymLinks
        AllowOverride all
        Require all granted
</Directory>
</VirtualHost>
</IfModule>

et bien sur, j'ai créé le répertoire errors/ pour y placer mon fichier page-404.php

Problème, c'est que maintenant, j'ai toujours la page 404 not found d'Apache et en plus, elle m'indique qu'une erreur 404 Not Found s'est produite lors de la tentative d'utilisation d'un ErrorDocument pour gérer la demande.

Quelqu'un a-t il une idée d'où vient le problème ?

Ci-dessous, la partie de mon apache2.conf qui traite le .htaccess. Je n'ai rien modifié dedans

# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

#<Directory /srv/>
#       Options Indexes FollowSymLinks
#       AllowOverride None
#       Require all granted
#</Directory>




# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives.  See also the AllowOverride
# directive.
#
AccessFileName .htaccess

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
        Require all denied
</FilesMatch>

Merci de votre aide pour comprendre mon erreur

Dernière modification par Nathaly01 (Le 01/08/2019, à 17:26)

Hors ligne

#2 Le 01/08/2019, à 06:53

Nathaly01

Re : [Résolu].htaccess cause des erreurs supplémentaires

Re,
J'ai, je pense, résolu mon problème en lisant et relisant les docs https://httpd.apache.org/docs/2.4/fr/mo … owoverride et https://guide.ubuntu-fr.org/server/httpd.html

Comme l'emploi de fichier .htaccess est fortement déconseillé, j'ai supprimé le fichier et j'ai rajouté à mon fichier /etc/apache2.site-available/xxxx.fr-le-ssl.conf une directive

<IfModule mod_ssl.c>
<VirtualHost *:443>

        ServerName xxxx.fr
        ServerAlias www.xxxx.fr

        ServerAdmin xxxxxxxx@xxxx.fr
        DocumentRoot /html/xxxx.fr

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/xxxx.fr/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/xxxx.fr/privkey.pem

<Directory /html/xxxx.fr>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>


<Directory /html/xxxx.fr/xxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxx>
        Options FollowSymLinks
        AllowOverride FileInfo AuthConfig
        Require all granted
        ErrorDocument 404 /xxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxx/page-404.php
</Directory>
</VirtualHost>
</IfModule>

Il a juste fallu ensuite que je modifie tous les liens présent sur la page (css, img, liens vers d'autres pages) en rajoutant xxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxx/ devant ...
lol, je n'ai plus qu'à créer les autres pages d'erreur ...!! et préserver ma zone d'administration de la même façon.

Dernière modification par Nathaly01 (Le 01/08/2019, à 07:04)

Hors ligne