Comment améliorer ma règle

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

wacha
WRInaute discret
WRInaute discret
 
Messages: 64
Inscription: 22 Nov 2007

Comment améliorer ma règle

Message le Lun Nov 23, 2009 16:59

Bonjour,

J'utilise actuellement la règle suivante :

Code: Tout sélectionner
#RewriteRule ^theme-(.+)-([0-9]+).html$ /listing_produits_themes.php?titre=$1&categorie=$2 [L]


Maintenant imaginons que j'ai un theme rouge avec comme id 12 (j'utilise l'id pour mes requetes sql)

Le soucis est que l'on tappe :

http://www.XXX.fr/theme-theme-rouge-12.html
ou
http://www.XXX.fr/theme-theme-rouge-super-cool-de-la-mort-12.html

ces deux liens renvoient vers la même pas et je risque pages en doubles alors que j'ai le meme contenu :x

Comment puis je faire :?:

Merci

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2461
Inscription: 30 Aoû 2002

Re: Comment améliorer ma règle

Message le Lun Nov 23, 2009 17:14

J'imagine que seule la catégorie te permet de retrouver la page, et que le titre est là pour rendre l'URL plus sexy ?

Il faut donc après avoir récupéré le titre dans ta base, que tu le compare à ton $_GET, et que tu fasse une redirection 401 vers le bon titre si celui-ci n'est pas correct.

wacha
WRInaute discret
WRInaute discret
 
Messages: 64
Inscription: 22 Nov 2007

Re: Comment améliorer ma règle

Message le Lun Nov 23, 2009 17:18

merci pour ta réponse rapide.
Il n'y a donc pas moyen de faire ca depuis le htaccess ?


medium69
WRInaute passionné
WRInaute passionné
 
Messages: 2485
Inscription: 7 Mai 2005

Re: Comment améliorer ma règle

Message le Lun Nov 23, 2009 17:48

J'ai eu un peu le même soucis que toi...

J'ai une règle dans le .htacess :
Code: Tout sélectionner
RewriteRule ^index-thematique/article/([-a-z0-9]+)-([0-9]+)\.html$  /index-thematique/article/thema-article.php?idArticle=$2 [R=301,L]


Pour m'assurer du bon titre dans l'url dans le fichier qui affiche la page :

Dans le premier cas, je redirige vers une page d'erreur ou dans ce cas vers l'index thématique si le titre est inconnu (au cas ou un visiteur mettrait un identifiant bidon dans l'url par exemple).
Dans le second cas, je construit mon url avec le bon titre et je le compare avec celle demandée. Si elle n'est pas bonne, je la redirige.

Code: Tout sélectionner
/* Redirection vers la page d'erreur si le terme est inexistant */
if (empty($article)) { //
   header ('HTTP/1.1 301 Moved Permanently');
   header('Location: http://www.science-et-vie.net/index-thematique/index-thematique.html');
   exit;
} else {
   $lien = traitementCaractUrl($article_vierge);
}

// On fait une redirection 301 si le nom n'est pas le bon
if ($_SERVER['REQUEST_URI'] != '/index-thematique/article,'.$lien.-.$id_thema.'.html') {
   header ('HTTP/1.1 301 Moved Permanently');
   header('Location: http://www.science-et-vie.net/index-thematique/article,'.$lien.-.$id_thema.'.html');
   exit;
}


Je t'ai laissé mon code tel quel. A toi de le modifier pour le coller à ta situation.

wacha
WRInaute discret
WRInaute discret
 
Messages: 64
Inscription: 22 Nov 2007

Re: Comment améliorer ma règle

Message le Lun Nov 23, 2009 17:55

Super je vais regarder ca !!

Merci beaucoup :wink:


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

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 :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités