Qu'est ce qui ne va pas dans cette URL rewritting ?
9 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- renaud63
- Nouveau WRInaute

- Messages: 38
- Inscription: 30 Sep 2006
Qu'est ce qui ne va pas dans cette URL rewritting ?
Bonjour à tous,
Une erreur 404 sur cette URL rewritting, je n'en trouve pas la cause :
Merci du coup de main, et bonne journée.
Une erreur 404 sur cette URL rewritting, je n'en trouve pas la cause :
- Code: Tout sélectionner
URL de base : achat/produit_details.php?id=2&catid=20&nom=Je-joue-au-Cluedo
URL réécrite : achat/produit-details-2-20.Je-joue-au-Cluedo.html
htaccess
RewriteRule ^produit-details-([0-9]+)-([0-9]+)\.(-[a-zA-Z]+)\.html$
/achat/produit_details.php?id=$1&catid=$2&nom=$3 [L]
Merci du coup de main, et bonne journée.
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
Il manque le répertoire dans la partie gauche il me semble:
- Code: Tout sélectionner
RewriteRule ^achat/produit-details-([0-9]+)-([0-9]+)\.(-[a-zA-Z]+)\.html$
/achat/produit_details.php?id=$1&catid=$2&nom=$3 [L]
- PatrickM.
- Nouveau WRInaute

- Messages: 19
- Inscription: 25 Oct 2007
Bonjour à tous,
Je pense que le souci vient de la règle pour la 3è partie: (-[a-zA-Z]+)
Il faudrait le remplacer par ([-a-zA-Z]+) ainsi, cela permettrait de gérer plusieurs occurences du "-", ce qui est le cas pour Je-joue-au-Cluedo
Amicalement,
Je pense que le souci vient de la règle pour la 3è partie: (-[a-zA-Z]+)
Il faudrait le remplacer par ([-a-zA-Z]+) ainsi, cela permettrait de gérer plusieurs occurences du "-", ce qui est le cas pour Je-joue-au-Cluedo
Amicalement,
- renaud63
- Nouveau WRInaute

- Messages: 38
- Inscription: 30 Sep 2006
Merci à vous, c'est impec !
C'est en effet l'expression régulière qui ne fonctionnait pas...
J'aurais besoin d'un conseil :
Je génére un fichier sitemap.xml à la volée avec PHP et il est bien reconnu par Google, bien que les liens soient du type index.php?id=2&page=1
Maintenant que j'ai reécrit les liens avec URL rewritting et les htaccess....et ce qu'il faut que je mette les nouveaux liens aussi dans le sitemap.xml ? Est ce important ?
Merci de vos lumières !

C'est en effet l'expression régulière qui ne fonctionnait pas...
J'aurais besoin d'un conseil :
Je génére un fichier sitemap.xml à la volée avec PHP et il est bien reconnu par Google, bien que les liens soient du type index.php?id=2&page=1
Maintenant que j'ai reécrit les liens avec URL rewritting et les htaccess....et ce qu'il faut que je mette les nouveaux liens aussi dans le sitemap.xml ? Est ce important ?
Merci de vos lumières !
-

webmasterlamogere - WRInaute passionné

- Messages: 1874
- Inscription: 17 Déc 2006
il faut renommer tous les liens (y compris dans le sitemap) mais également faire une redirection 301 des anciennes url vers les nouvelles. Pour cela le plus simple est de faire un test au début du script php :
Il faut bien sur déterminer "la bonne url" à partir des paramètres.
- Code: Tout sélectionner
$la_bonne_url = '/achat/produit-details-2-20.Je-joue-au-Cluedo.html';
if ($_SERVER['REQUEST_URI'] != $la_bonne_url) {
header('Status: 301 Moved Permanently', false, 301);
header('Location: ' . $la_bonne_url);
exit;
}
Il faut bien sur déterminer "la bonne url" à partir des paramètres.
- renaud63
- Nouveau WRInaute

- Messages: 38
- Inscription: 30 Sep 2006
Humm...ça se corse...
Cette redir 301 est utile pour que Google soit à jour avec les nouveaux liens ? Pour ne pas perdre son référencement ?
Parce que en fait, la plupart de mes liens sont générés dynamiquement par une boucle qui lit une table...alors pas facile, le header en début de script...
Je vais chercher des tutos sur le sujet pour essayer de comprendre.
En tout cas, merci !
Cette redir 301 est utile pour que Google soit à jour avec les nouveaux liens ? Pour ne pas perdre son référencement ?
Parce que en fait, la plupart de mes liens sont générés dynamiquement par une boucle qui lit une table...alors pas facile, le header en début de script...
Je vais chercher des tutos sur le sujet pour essayer de comprendre.
En tout cas, merci !
-

webmasterlamogere - WRInaute passionné

- Messages: 1874
- Inscription: 17 Déc 2006
renaud63 a écrit:Humm...ça se corse...
Cette redir 301 est utile pour que Google soit à jour avec les nouveaux liens ? Pour ne pas perdre son référencement ?
il ne faut pas deux pages avec le même contenu. il faut donc indiquer a google que la page a été renommée
renaud63 a écrit:Parce que en fait, la plupart de mes liens sont générés dynamiquement par une boucle qui lit une table...alors pas facile, le header en début de script...
si tu es capable de déterminer le lien dans la boucle, tu peux copier ce code juste avant le code que je t'ai donné pour déterminer la bonne url non?
- renaud63
- Nouveau WRInaute

- Messages: 38
- Inscription: 30 Sep 2006
Oui oui, en théorie c'est jouable...
Je pensais simplement que la fonction header allait poser problème à certains endroits puisque j'envoie du HTML avant l'affichage du contenu lu par la boucle... et il faut que je mette la redir 301 dans la boucle.
Il faut que je teste, parce que, à mon avis je risque de prendre un gros warning en pleine tête !

Je pensais simplement que la fonction header allait poser problème à certains endroits puisque j'envoie du HTML avant l'affichage du contenu lu par la boucle... et il faut que je mette la redir 301 dans la boucle.
Il faut que je teste, parce que, à mon avis je risque de prendre un gros warning en pleine tête !
-

webmasterlamogere - WRInaute passionné

- Messages: 1874
- Inscription: 17 Déc 2006
le code est a mettre avant tout envoi de donnée au navigateur (au début de produit_details.php). Sinon il faut utiliser ob_start()
il faut faire :
il faut faire :
- Code: Tout sélectionner
$la_bonne_url = '/achat/produit-details-' . $_GET['id'] . '-' . $_GET['catid'] . '.' . $_GET['nom'] . '.html';
if ($_SERVER['REQUEST_URI'] != $la_bonne_url) {
header('Status: 301 Moved Permanently', false, 301);
header('Location: ' . $la_bonne_url);
exit;
}
9 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Tutoriel URL Rewriting
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- La balise d'URL canonique inter-sites
- Google n'indexe pas les URL qui se terminent par .0 ?
- L'API de goo.gl, le raccourcisseur d'URL de Google
- Guide d'optimisation des redirections pour le référencement
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- Connaitre son PageRank sans la Google Toolbar...
Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl
- Liste des backlinks
Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées. - Transformer des textes non cliquables en liens
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
