Générer le fichier .htaccess par Prestashop pour avoir des URLs simplifiées
Le fichier .htaccess
placé à la racine de votre site va permettre de positionner certaines variables telles que la version de PHP et de gérer la ré-écriture d'URL (URL rewriting), les accès à certains répertoires et autres actions.
TRES IMPORTANT:
Première chose: S'il existe déjà, faire une sauvegarde de l'ancien .htaccess
qui est actif en ligne ou en local.
En ligne
S'assurer que l'hébergeur de son serveur autorise la ré-écriture d'URL (URL rewriting).
En local
Sous Windows avec WAMP:
Click gauche sur l'icône WAMPSERVER
Menu Apache -> Apache modules
Cocher rewrite modules
Redémarrer le serveur Apache (c'est souvent automatique)
Une fois qu'Apache est bien configuré, si le fichier .htaccess
n'existe pas, créez en un vide dans le dossier racine de votre boutique prestashop :
POUR CELA:
Sous windows, créer un fichier vide avec le blocnote, le sauvegarder en fichier .htaccess* (Attention à ne pas rajouter l'extension .txt et à bien le sauvegarder en ANSI).
téléchargez le sur votre serveur par ftp à la racine de votre boutique.*
Lui donner les permissions Read et Write (CHMOD 666 sur les systèmes Unix à l'aide d'un client ftp par exemple)
Allez dans le BackOffice de Prestashop, onglet Préférences et sélectionnez URL simplifiée OUI
Allez dans le Back Office de Prestashop, Onglet Outils - Générateurs
Cliquez sur le bouton "Générer le fichier .htaccess"
ATTENTION cela écrase l'ancien et vous avez sans doute une page blanche qui s'affiche sur vos front office et back office car les anciennes instructions ont été écrasées.
Remettre les informations de l'ancien (tels les positionnements de variable de version de PHP) que vous avez sauvegardées et les mixer avec le nouveau.
Les URLs devraient être ré-écrites.
Une fois cette fonction activée, les URLs de vos pages vont passer d’une structure semblable à celle-ci :
http://www.maboutique.com/product.php?id_product=2
...à celle-ci :
http://www.maboutique.com/musique-ipods/2-ipod-shuffle.html
ce qui devrait grandement améliorer votre référencement.
Exemple de fichier .htaccess
SetEnv PHP_VER 5SetEnv REGISTER_GLOBALS 0
Options All -Indexes<FilesMatch "\.(inc|tpl|h|ihtml|sql|ini|conf|class|bin|spd|themes|modules|exe|asa)$"> Order Deny,Allow Deny from all</FilesMatch>
RewriteEngine on
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg [L,E]RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg [L,E]RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$3&isolang;=$1$5
[L,E]RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2&isolang;=$1$4
[L,E]RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$2&isolang;=$1
[QSA,L,E]RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2$4
[L,E]RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$1$3
[L,E]RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1
[QSA,L,E]RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ cms.php?id_cms=$1
[QSA,L,E]RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3
[QSA,L,E]RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3
[QSA,L,E]RewriteRule ^lang-([a-z]{2})/(.*)$ /$2?isolang=$1
[QSA,L,E]
ErrorDocument 404 /404.php
Last updated