TL;DRLe fichier .htaccess est l'un des fichiers les plus sensibles d'une boutique PrestaShop : il pilote les URLs, la compression des pages et une partie de la sécurité du site. Une mauvaise manipulation suffit à provoquer une erreur 500 sur l'ensemble de la boutique.

Qu'est-ce qu'un fichier .htaccess ?#

Le .htaccess (« hypertext access ») est un fichier de configuration lu par le serveur web Apache. Placé à la racine d'un site — ou dans n'importe quel sous-dossier — il permet de modifier localement le comportement du serveur sans avoir besoin d'accéder à sa configuration globale, ce qui en fait l'outil de prédilection sur les hébergements mutualisés où cet accès n'est pas possible.

Agence web websource

Pour qu'il soit pris en compte, le serveur doit avoir le module mod_rewrite activé et l'directive AllowOverride All configurée sur le dossier concerné — sans cette autorisation, le fichier est tout simplement ignoré, silencieusement.

À quoi sert le .htaccess de PrestaShop ?#

Sur une boutique PrestaShop, le .htaccess généré automatiquement remplit plusieurs rôles :

  • Réécriture d'URL : c'est son rôle principal. Il transforme les URLs techniques (index.php?id_product=12&controller=product) en URLs lisibles et optimisées pour le SEO (/12-nom-du-produit.html), en redirigeant en coulisse toutes les requêtes vers index.php.
  • Compression et cache navigateur : activation de la compression gzip des pages et ajout d'en-têtes Expires pour mettre en cache les ressources statiques côté navigateur, ce qui accélère le chargement.
  • Sécurité : restriction de l'accès direct à certains dossiers et fichiers sensibles de l'arborescence PrestaShop.
  • Redirections structurelles : gestion de la cohérence des URLs selon la configuration de la boutique (mono ou multiboutique).

Comment (re)générer le fichier .htaccess PrestaShop ?#

Dans l'immense majorité des cas, il ne faut pas éditer ce fichier à la main : PrestaShop le génère et le régénère automatiquement depuis son back-office, dans Préférences > SEO & URLs, en activant la « réécriture d'URL » et en cliquant sur le bouton de régénération. Le fichier produit tient compte de l'arborescence réelle de la boutique, y compris en configuration multiboutique.

Cette régénération doit être relancée après tout changement structurel : ajout d'une boutique, modification du nom de domaine, changement du mode de réécriture d'URL, ou migration serveur.

Erreurs fréquentes#

  • Erreur 500 après une modification manuelle : une directive mal formée (RewriteRule incomplète, accolade manquante) suffit à faire planter l'intégralité du site. Le réflexe : restaurer une sauvegarde du fichier avant d'investiguer plus loin.
  • mod_rewrite non activé côté serveur : les URLs « amicales » ne fonctionnent pas et le site retombe sur des URLs techniques, même si le .htaccess est correct.
  • AllowOverride None dans la configuration Apache du site : le .htaccess est purement ignoré, sans message d'erreur visible — la cause la plus difficile à diagnostiquer sans accès à la configuration serveur.
  • Permissions insuffisantes empêchant PrestaShop de réécrire le fichier depuis le back-office lors d'une régénération.

Bonnes pratiques#

Toujours sauvegarder le fichier avant toute intervention manuelle. Ne jamais modifier les blocs générés automatiquement par PrestaShop (repérables par leurs commentaires de début et de fin) : ajoutez vos règles personnalisées en dehors de ces blocs, sous peine de les voir écrasées à la prochaine régénération. Et testez systématiquement toute modification sur un environnement de préproduction avant de la répliquer en production.

Un problème de .htaccess, de mod_rewrite ou de configuration serveur sur votre boutique PrestaShop ? Websource propose de l'hébergement infogéré et de la maintenance de serveurs, ainsi qu'un accompagnement dédié sur le développement et la maintenance PrestaShop.