web-dev-qa-db-fra.com

La présence d'une configuration .htaccess provoque une erreur 500 (même si elle est vide)

Mon fichier htaccess donne une erreur 500 à ma page Web et je ne comprends pas pourquoi ... c'est le code:

 AddHandler application/x-httpd-php56 .php
 RewriteEngine on
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ /gallery-page.php?galerie=$1
  • Si je retire le fichier .htaccess, je reçois 404 erreurs sur les pages que je devais renommer.

  • Si j'ai le fichier .htaccess sans code, je reçois toujours une erreur 500.

Si quelqu'un peut m'aider à comprendre, ce serait génial!

3
Jack Swindle

Je n'ai pas encore recherché AddHandler application/x-httpd-php56 .php, mais je mets les informations suivantes sur tous mes sites Web:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [R,L]

RewriteBase /
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule>

Assurez-vous également de supprimer les conditions HTTPS si votre site n'est pas SSL.

1

Votre syntaxe .htaccess semble correcte et son exécution via un validateur confirme que la syntaxe est correcte. Vous pouvez consulter votre journal des erreurs pour voir plus d'informations et voir ce qui le cause, mais en fonction de votre environnement d'hébergement (en particulier s'il s'agit d'un serveur d'hébergement partagé), vous constaterez probablement que le problème est la ligne AddHandler application/x-httpd-php56 .php. De nombreux fournisseurs d'hébergement empêchent l'ajout de gestionnaires de fichiers supplémentaires via .htaccess car cela peut entraîner des problèmes de sécurité sur le serveur. Si votre fournisseur d'hébergement ne dispose pas déjà de la prise en charge de PHP sur le serveur, le simple fait d'ajouter cette ligne à votre fichier .htaccess ne le fera pas fonctionner et produira une erreur 500 car il n'y a pas de PHP. _ installé sur le serveur pour le traiter, et s'il y en a un, le serveur sera déjà configuré pour gérer les fichiers PHP. Il n'est donc pas nécessaire d'ajouter cette ligne. Essayez de supprimer cette ligne et vous devriez le voir fonctionner.

0
Chris Rutherfurd