Jeremy B Posted October 18, 2016 Share Posted October 18, 2016 (edited) Bonjour, Je viens d'être alerté par google pour une URL en 404 sur mon site, en allant vérifier, effectivement l’URL est bien en 404. Après quelques heures de tests, voici ce que j'ai pu constaté: Nom du produit : Distributeur plombs stotz tailles 4-11 URL simplifié généré : distributeur-plombs-stotz-tailles-4-11 En parcourant mon site dès que je clique pour afficher la page de ce produits je tombe sur erreur 404 En modifiant l'url simplifié de la façon suivante le problème disparaît: URL simplifié modifié manuellement : distributeur-plombs-stotz URL simplifié modifié manuellement : distributeur-plombs-stotz-tailles-4.11 Il semblerait que lorsque le nom du produit comporte 2 chiffres séparé d'un espace ou d'un - l'url simplifié généré ne fonctionne plus en front office. Si ces 2 chiffres sont séparé par un . pas de soucis. (ce sont les seuls caractères que j'ai pu testé). Si il n'y a qu'un seul chiffre/nombre aucun problème. Version de PrestaShop 1.6.1.7 Nom du thème utilisé default-bootstrap Les 2 dernières mises à jour effectué dans les 15 derniers jours : module Paypal et Prestashop en 1.6.1.7. Edited October 20, 2016 by Jeremy B (see edit history) Link to comment Share on other sites More sharing options...
GuillaumeCW Posted October 19, 2016 Share Posted October 19, 2016 Je m'occupe d'une boutique où la plupart des produits ont une URL simplifiée comportant deux nombres à la fin, séparés par un tiret, et il n'y a aucun problème. Quels sont vos paramètres de route (Paramètres > SEO & URLs) ? Dans mon cas, il s'agit du paramètre par défaut : {id}-{rewrite}{-:ean13}.html Link to comment Share on other sites More sharing options...
Jeremy B Posted October 19, 2016 Author Share Posted October 19, 2016 Merci pour votre réponse, j'ai de mon coté: {category:/}{manufacturer}-{id}-{rewrite}.html Si j'ajoute {category:/}{manufacturer}-{id}-{rewrite}{-:ean13}.html Le problème reste le même Link to comment Share on other sites More sharing options...
GuillaumeCW Posted October 19, 2016 Share Posted October 19, 2016 Le problème vient effectivement de la route. Il n'y a pas de "/" derrière le manufacturer, et donc l'id ne peut pas être identifié. L'expression régulière utilisée sur votre boutique : "#^/(([_a-zA-Z0-9-\pL]*)/)?([_a-zA-Z0-9-\pL]*)\-(?P<id_product>[0-9]+)\-([_a-zA-Z0-9\pL\pS-]*)\.html$#u". La partie du manufacturer, en gras, englobe l'ID du produit (en rouge). Exemple de résultats d'un preg_match avec l'URL "/fruits/andros-1-yaourt-2-3.html" : 0 => string '/fruits/andros-1-yaourt-2-3.html' (length=32) 1 => string 'fruits/' (length=7) 2 => string 'fruits' (length=6) 3 => string 'andros-1-yaourt' (length=15) 'id_product' => string '2' (length=1) 4 => string '2' (length=1) 5 => string '3' (length=1) 1 Link to comment Share on other sites More sharing options...
Jeremy B Posted October 20, 2016 Author Share Posted October 20, 2016 Effectivement le problème est résolu en remplaçant le paramètre de route par: {category:/}{manufacturer:/}{id}-{rewrite}.html Merci encore pour votre aide 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