Ecom Posted March 2, 2010 Share Posted March 2, 2010 Bonjour,Je sais que c'est le enième post sur ce sujet. Mais j'ai un problème aléatoire. Seulement certains produits url rewrités pointent sur une page introuvable, alors que la plupart marche correctement.L'url rewriting au niveau du browser semble correcte mais je tombe sur une page introuvable " La page que vous avez demandée n'existe plus" uniquement sur certains produits".Quelqu'un aurait il rencontré cela avec OVH mutualisé?Voici le fichier htacces, y a t'il une modification à apporter?# URL rewriting module activationSetEnv PHP_VER 5RewriteEngine on# URL rewriting rulesRewriteRule ^([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]# Catch 404 errorsErrorDocument 404 /404.php Link to comment Share on other sites More sharing options...
SNAInformatique Posted March 2, 2010 Share Posted March 2, 2010 Remplace les 1 par des #Au début du htaccess chez OVH, deux lignes indispensables: SetEnv PHP_VER 5SetEnv REGISTER_GLOBALS 0 Link to comment Share on other sites More sharing options...
Ecom Posted March 2, 2010 Author Share Posted March 2, 2010 Bonsoir, Merci pour ta réponse immédiate,Je viens de mettre la ligne manquante et ca ne change rien. Quelques produits me renvoient toujours"La page que vous avez demandée n’existe plus". J'ai même essayer de dupliquer un produit qui ne fonctionnait pas et son doublon ne fonctionne pas non plus.Voici le nouveau fichier htaccess# URL rewriting module activationSetEnv PHP_VER 5SetEnv REGISTER_GLOBALS 0RewriteEngine on# URL rewriting rulesRewriteRule ^([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]# Catch 404 errorsErrorDocument 404 /404.php Link to comment Share on other sites More sharing options...
SNAInformatique Posted March 2, 2010 Share Posted March 2, 2010 As-tu testé la manoeuvre simple?Supprime le contenu du htaccess, regénére le à partir du Back office (outils, générateurs) et ajoute les deux lignes pour OVH. SetEnv PHP_VER 5SetEnv REGISTER_GLOBALS 0 Sinon sur quels types de page ( catégories, recherche, tri par tags, etc) tu as ces erreurs? Link to comment Share on other sites More sharing options...
Ecom Posted March 3, 2010 Author Share Posted March 3, 2010 Bonjour,Oui je viens de faire la manip, ca ne fonctionne pas de façon aléatoire comme auparavant.En fait tous les produits ont au niveau de l'url (dans le browser) le rewrit qui fonctionne, mais c'est lorsque je clique sur le produit que le lien n'est pas correct pour certains d'entre eux. Et dans ce cas je tombe sur le message suivant: (voir image jointe) Link to comment Share on other sites More sharing options...
SNAInformatique Posted March 3, 2010 Share Posted March 3, 2010 As-tu déplacé ton shop du dossier prestashop à la racine du serveur?Il ne trouve pas l'emplacement des pages visiblement. Soit la règle de réécriture comporte des erreurs, soit l'emplacement de la page est incorrect par rapport à la règle en place. Link to comment Share on other sites More sharing options...
Ecom Posted March 3, 2010 Author Share Posted March 3, 2010 Oui, le shop est bien à la racine. Quand je tape http://www.mondomaine.com/127-toto-tata-titi.html ca fonctionne.Quel fichier php, réécrit les url? Link to comment Share on other sites More sharing options...
Ecom Posted March 3, 2010 Author Share Posted March 3, 2010 Bonjour,J'ai trouvé une solution de contournement, en ajoutant un "S" au niveau de mes catégories dans la fonction GetProductlink du fichier link.php.Ainsi, je suis sur de ne pas me retrouver avec un répertoire ou une catégorie qui existe déjà.Si quelqu'un à mieux à me proposer. Je suis preneur.public function getProductLink($id_product, $alias = NULL, $category = NULL, $ean13 = NULL) { if (!isset($this->allow)) $this->allow = 0; if (is_object($id_product)) return ($this->allow == 1)?(_PS_BASE_URL_.__PS_BASE_URI__.(($id_product->category != 'home' AND !empty($id_product->category)) ? $id_product->category.'s/': '').intval($id_product->id).'-'.$id_product->link_rewrite.($id_product->ean13 ? '-'.$id_product->ean13 : '').'.html') : (_PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.intval($id_product->id)); elseif ($alias) return ($this->allow == 1)?(_PS_BASE_URL_.__PS_BASE_URI__.(($category AND $category != 'home') ? ($category.'s/') : '').intval($id_product).'-'.$alias.($ean13 ? '-'.$ean13 : '').'.html') : (_PS_BASE_URL_.__PS_BASE_URI__.'product.php?id_product='.intval($id_product)); Link to comment Share on other sites More sharing options...
alphabravo8 Posted June 1, 2010 Share Posted June 1, 2010 As-tu déplacé ton shop du dossier prestashop à la racine du serveur?Il ne trouve pas l'emplacement des pages visiblement. Soit la règle de réécriture comporte des erreurs, soit l'emplacement de la page est incorrect par rapport à la règle en place. Salut SNAInformatique, on dirait que tu connais bien le problème.pour ma part tout fonctionnait bien lorsque je bossais dans un repertoire de developpement un cran au dessus de la racine /dev/, l'url rewriting nikel, pas d'erreur 404.dès lors que j'ai voulu deplacer mon site à la racine j'ai commencé à avoir le message comme quoi ma page n'existe pas en cliquant sur les categories. Or j'ai recréé un .htaccess à la racine avec l'outil presta, rajouté les 2 lignes pour OVH (je suis sur presta 1.2.5 - OVH dedié release 2)mon htaccess : # http://www.prestashop.com - http://www.prestashop.com/forums SetEnv PHP_VER 5 SetEnv REGISTER_GLOBALS 0 # Catch 404 errors ErrorDocument 404 /404.php merci pour votre aide je continue de chercher de mon côté. Link to comment Share on other sites More sharing options...
Recommended Posts