Le fichier .htaccess pour Thélia 1

Accueil / Articles / Le fichier .htaccess pour Thélia 1

Article publié le 16 juillet 2020  Mot(s) clé :   Thélia 

J’écris cet article surtout pour moi, car beaucoup d’entre vous serez déjà passés sous Thélia 2. Je compte le faire, mais pour l’instant mon site de vente en ligne fonctionne encore sous Thélia 1, et j’ai parfois des problèmes avec mon fichier .htaccess J’écris tout pour ne pas tout rechercher à chaque fois.

Des URL "propres"

Je ne détaille pas l’intérêt du fichier .htaccess : il permet entre autre la ré-écriture des URL, pour qu’elles ne soient dynamique mais propres. Il faut bien sûr travailler avec un serveur Apache qui accepte ce genre de fichier.
Ce n’est pas la seule fonction du fichier .htaccess, comme nous allons le voir.

La ré-écriture d’URL

Avant tout, activer dans l’espace d’administration de votre site Thélia la ré-écriture d’URL :
Configuration > Gestion des variables > rewrite
La variable doit être à 1
Puis, dans votre fichier .htaccess, commencez par les indications suivantes :

Options +FollowSymlinks
RewriteEngine on

#URL propres
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z_.\-0-9]+)$ index.php?url=$1 [L,QSA]

Redirection avec ou sans www

Si vous ne faites rien, http://monsite.tld et http://www.monsite.tld seront deux URL différentes pour la même page. Ce qui conduit, pour les moteurs de recherche, à du contenu dupliqué.
Pour éviter cela, il faut donc rediriger http://monsite.tld vers http://www.monsite.tld avec les lignes d’instructions suivantes :

#pour rediriger http://peuterey-editions.com vers http://www.peuterey-editions.com

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Redirection http vers https

Même principe : si votre hébergeur permet une connexion sécurisée, vous devez rediriger toutes les pages en http vers la même page en https avec les lignes d’instruction suivantes :

#cette ligne renvoie toutes les url http vers l'url https
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.peuterey-editions.com/$1 [R=301,L]

Gestion des erreurs 404 et 410

On peut renvoyer les pages d’erreur 404 (page introuvable) et 410 (page définitivement supprimée) vers des pages personnalisées.
Dans votre dossier Template, créez les fichier 404.html et 410.html
Ajoutez les instructions suivantes dans votre fichier .htaccess

# gestion des erreurs 404
ErrorDocument 404 /?fond=404
ErrorDocument 410 /?fond=410

[REM] j’ai découvert il y a peu que ces lignes d’instruction engendraient une erreur fatale sur mon site. Lorsque l’internaute voulait se connecter pour valider son panier, la connexion était redirigée vers une page qui n’existait pas.
Cher l’hébergeur, avec un php 5.6 : erreur fatale
En local, sur mon serveur Linux (php 5.6) : erreur fatale
Sur un windows 7, avec WampServeur : fonctionne.
Mystère...

Mettre les ressources statiques en cache

Avec votre fichier .htaccess, vous pouvez indiquer au navigateur de mettre les images du site en cache, afin d’en accélérer le chargement pour un utilisateur qui reviendrait souvent sur votre site. Pour cela, ajoutez l’instruction suivante dans votre fichier .htaccess :

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 7 days"
</IfModule>
## EXPIRES CACHING ##

Le code a été donné par https://www.hostinger.fr/tutoriels/exploitation-cache/

Il est utile d’utiliser GT Metrix pour tester le site. Voir dans le Portfolio les résultats de test sur GT Metrix avant et après les instructions de mise en cache dans le .htaccess

Cela donne un résultat sympathique sur l’outil de Google Page speed Insight

Portfolio

Cliquez sur l'image pour afficher un diaporama

Test après la mise en cache des images Test avant la mise en cache des images

Ces articles peuvent vous intéresser