Comment activer le mode URL Rewrite de Thelia
Activer la ré-écriture des URLs dans Thelia
Etape 1 Vérifier que votre hébergement est compatible avec le module mod_rewrite d'Apache (URL Rewriting)
Etape 2 Dans le back-office -> Configuration -> Gestion des variables, donner la valeur 1 à la variable 'rewrite'.
Etape 3 Déplacer le fichier template/htaccess à la racine du site, et le renommer .htaccess (point-htaccess)
Etape 4 Si votre boutique se trouve dans un dossier et non à la racine du site web, ajoutez une ligne dans votre .htaccess pour préciser le chemin :
RewriteBase /dossier_de_ma_boutique
Conseils Dans vos templates, ne codez pas "en dur" les URLs, mas utilisez utilisez la variable #URL des boucles rubriques, produit, dossier et contenu, ou la substitution #URLFOND.
<THELIA_rub type="produit" id="#PRODUIT_ID"> <a href="#URL">#TITRE</a> </THELIA_rub>
Vous pouvez utiliser un plugin de gestion des ré-ecritures (comme Gestions des réecritures d’URL) pour créer les URLs ré-écrite de vos propres templates, ou des templates de base. ?fond=panier pourra alors devenir mon-panier.html
#URLFOND
La substitution #URLFOND(nom_template,paramètres) permet de construire l'URL d'une page de votre boutique. Par exemple, #URLFOND(moncompte) vous permet de générer le lien ?fond=moncompte vers la page "Mon Compte", ou son équivalent ré-écrit. #URLFOND utilisera l'URL ré-ecrite si elle est disponible.
Par exemple, utiliser:
<a href="#URLFOND(livraison_modifier,adresse=#ID)">Modifier mon adresse de livraison</a>
plutôt que:
<a href="?fond=livraison_modifier&adresse=#ID">Modifier mon adresse de livraison</a>
#AJOUTER_PARAMETRE
A partir de Thelia 1.5.3, vous pouvez utiliser la substitution #AJOUTER_PARAMETRE pour ajouter des paramètres à une URL sans vous préoccuper de savoir si elle a déjà des paramètres ou non, et donc de décider s'il faut utiliser ? ou & pour ajouter vos paramètres.
Par exemple, pour ajouter panier=1 à l'URL de la page courante, utiliser:
#AJOUTER_PARAMETRE(#URLCOURANTE,panier=1)
L'URL sera ainsi toujours formée correctement.