Question sur la ré-écriture d'url

WRInaute discret
Voila je m suis attaquer a l'url rewriting, pas de soucis . Le problème c'est que j'ai des anciennes page indexé sous la forme non ré ecrite qui sont bien positionner , est ce que l'url re ecrite va remplacer l'ancienne?ou bien dois je faire une redirection?
Pour vous montrer : page non réecrite :

-www.killer-clubbing.com/index.php?page=pageTag&tag=jeyjey

page réecrite :

http://www.killer-clubbing.com/tags-jeyjey.html

dans les moteur de recherce c'est la page non ré ecrite qui apparait :s
 
WRInaute passionné
si l'url contient le paramètre page=pageTag, il faut qu'il se trouve dans la RewriteCond
Code:
RewriteCond %{QUERY_STRING} ^page=pageTag&tag=(.+)$
RewriteRule ^index\.php$ /tag-%1.html? [L,R=301]
 
WRInaute occasionnel
Il y a encore un truc à changer, dans ta reécriture d'url, tu laisses les espaces, ce qui donne des urls où les espaces sont remplacés par des signes %. Exemple : mon%url.html c'est pas fantatsique. Tu devrais remplacer dans ta variable les espaces par un séparateur, - ou , ou _
 
WRInaute discret
Merci pour les conseils,je suis daccord avec toi pour les espaces mais j'ai essayer et ça me fesait une erreur 404 .. les fichier htacess c'est pas encore mon dada.. je pense que ça doit devenir de la :

RewriteRule ^tag-([^-]*)\.html$ /pageTag2.php?tag=$1 [L,NC]
tag-([^-]*)

Entre les crochet? m'enfin rien de sur..
 
WRInaute occasionnel
Bon je ne connais pas l'architecture de ton site, je ne vois que le résultat du code généré, mais enlève déjà les espaces de tes liens comme par exemple dans

<a href="tags-bande annonces.html"

met un tiret à la place de l'espace

<a href="tags-bande-annonces.html"

ensuite lorsque tu récupère ta varibale qui sera 'bande-annonces' tu fais remplacer le tiret - par un espace avec du php

du genre

$variable = str_replace("-"," ",$variable);
 
WRInaute passionné
il est aussi possible de remplacer l'espace par un +. en effet le + est un caractère équivalent a l'espace comme le %20. ca évite de transformer les - en espace (avec le risque de transformer un vrai -)
 
WRInaute discret
Je dois vraiment être une kiche parce que jy arrive pas...
Dans ma base de donnée, je remplace les espace des tags par des"+", jusque la je crois que j'ai bon^^.
Ensuite je genere mon nuage de mot clefs , donc je recupere tout mes tags et maintenant au lieu qu'il ait un espace il auront un "+".
voici le code mon nuage de tags :

<a href="tag-<?php echo $tag2['tag2']; ?>.html" style="font-size:<?php echo $tag2['size2']; ?>px" title="<?php echo $tag2['tag2']; ?>" class="tag" rel="tag" > <?php echo $lol= str_replace("+"," ",$tag2['tag2']); ?> </a>

donc avant l'affichage de mes mots clef je remplace le "+" par un espace, ce qui donne un affichage normal.

le probleme c'est que ça ne marche pas ^^

je remet le code de mon url ré ecrite au cas ou :

RewriteRule ^tag-([^-]*)\.html$ /pageTag2.php?tag=$1 [L,NC]
 
WRInaute discret
En fait j'ai encore besoin de vous^^
Voila suite a l'ajout du "+" a la place de l'espace, je risque a nouveau un duplicate content sur :
-http://www.killer-clubbing.com/tag-dj%20furax.html
et
-http://www.killer-clubbing.com/tag-dj+20furax.html

Comment puis-je refaire ma redirection sachant que le probleme se situe dans la variable elle même?
 
Discussions similaires
Haut