valou1976 Posted January 18, 2014 Share Posted January 18, 2014 Bonjour, J'ai créé un écran recette. Quand je clique sur une recette j'ai un lien www.monsite.com/recette.php?id_recette=1. Que faut il changer pour avoir www.monsite.com/1-'titre-recette1'.html ? sachant que le titre-recette1 est le nom de la recette 1. Cela se fait il uniquement dans le .htaccess j'ai essayé pas mal de choses dans ce fichier mais je n'ai rien obtenu de concret. J'espère que ma demande est claire !!! Merci de votre aide et de vos explications. Valérie Link to comment Share on other sites More sharing options...
zaar Posted January 18, 2014 Share Posted January 18, 2014 Bonsoir Il faut activer l'url rewritting et nommer les urls comme bon vous semble ou laisser presta les générer automatiquement je pense. Link to comment Share on other sites More sharing options...
valou1976 Posted January 19, 2014 Author Share Posted January 19, 2014 Bonsoir Il faut activer l'url rewritting et nommer les urls comme bon vous semble ou laisser presta les générer automatiquement je pense. Bonjour Zaar, J'ai bien activé la réécriture des urls. Apparemment cela ne suffit pas à presta pour les gérer. Si tu as une autre idée ou quelqu'un d'autre, merci de votre aide. Link to comment Share on other sites More sharing options...
zaar Posted January 19, 2014 Share Posted January 19, 2014 (edited) Bonjour, cela devrait normalement être suffisant pour ne plus avoir d'adresse du type www.monsite.com/recette.php?id_recette=1. mais il faut que ton hébergeur propose l'url rewritting sur ton serveur, ce qui est a peu près le cas pour tous les hébergeurs aujourd'hui. Chez qui es tu hébergé? Edited January 19, 2014 by zaar (see edit history) Link to comment Share on other sites More sharing options...
valou1976 Posted January 20, 2014 Author Share Posted January 20, 2014 Bonjour, cela devrait normalement être suffisant pour ne plus avoir d'adresse du type www.monsite.com/recette.php?id_recette=1. mais il faut que ton hébergeur propose l'url rewritting sur ton serveur, ce qui est a peu près le cas pour tous les hébergeurs aujourd'hui. Chez qui es tu hébergé? Bonjour, Pas de souci de ce coté. J'ai presque trouvé. La redirection se fait mais j'aimerais la personnaliser avec le type de recette devant. www.monsite.com/Desserts/1-'titre-recette1'.html J'ai crée une fonction dans la classe Link public function getRecetteLink($id_recette, $alias = null, $category = null, $id_lang = null) { global $cookie; if (is_object($id_recette)) { $link = ''; if ($this->allow == 1) { $link .= _PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)$id_lang); if (isset($id_recette->category) && !empty($id_recette->category)) $link .= $id_recette->category.'/'; $link .= (int)$id_recette->id.'/'.(is_array($id_recette->link_rewrite) ? $id_recette->link_rewrite[(int)$cookie->id_lang] : $id_recette->link_rewrite); $link .= '.html'; } else $link .= _PS_BASE_URL_.__PS_BASE_URI__.'recette.php?id_recette='.(int)$id_recette->id; return $link; } elseif ($alias) { $link = ''; if ($this->allow == 1) { $link .= _PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)$id_lang); if ($category) $link .= $category.'/'.(int)$id_recette.'/'.$alias; $link .= '.html'; } else $link .= _PS_BASE_URL_.__PS_BASE_URI__.'recette.php?id_recette='.(int)$id_recette; return $link; } else return _PS_BASE_URL_.__PS_BASE_URI__.'recette.php?id_recette='.(int)$id_recette; } Je l'appelle dans mon fichier recettes.tpl <a href="{$link->getRecetteLink($recette.id_abeille_recette, $recette.link_rewrite, $category.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}"><u>{$recette.titre|escape:'htmlall':'UTF-8'}</u></a><br> Cela génère bien un lien de type <a title="Quiche lorraine" href="http://www.monsite.com/Entrees/1/quiche-lorraine.html"> Le contenu de mon .htaccess concernant la recette est : RewriteRule ^([0-9]+)/[a-zA-Z0-9-]*.html /recette.php?id_recette=$1 [QSA,L] RewriteRule ^[a-zA-Z0-9-]*/([0-9]+)-[a-zA-Z0-9-]*.html /product.php?id_product=$1 [QSA,L] Et le résultat quand je clique sur le aHref est : http://www.monsite.com/1/quiche-lorraine.html et non ça que j'espère voir : http://www.monsite.com/Entrees/1/quiche-lorraine.html par contre le contenu s'affiche bien ??? Où est mon erreur svp ??? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now