de blog.php?blog=$ vers exemple-news-$1.html

WRInaute discret
Bonjour voici une ligne qui ne fonctionne pas, je veux passer de blog.php?blog=X vers exemple-news-X.html
X étant le titre du blog

voici ma ligne qui ne fonctionne pas
RewriteRule ^blog.php?blog=(.+)$ exemple-news-$1.html [R=301]

lorsque je clic sur l'ancienne url depuis un lien partenaire la nouvelle ne vient pas la remplacer

En vous remerciant
 
WRInaute discret
C'est-à-dire que l'ancienne URL était blog.php?blog=X et que la nouvelle (écrite dans la barre d'adresse du navigateur, ou le lien sur lequel tu cliques) est exemple-news-X.html ?
Si oui, c'est le contraire qu'il faut écrire :
Code:
RewriteRule ^exemple-news-(.+)$ /blog.php?blog=$1.html [R=301]
(fonctionnement correct dans tous les cas non garanti, je n'ai pas testé)
 
WRInaute discret
non ça ne marche pas, le lien qui se termine par blog.php?blog= est le lien affiché sur le site partenaire et quand je clic dessus l'adresse se terminany par .html ne s'affiche pas.

Pas facile tout ça
 
WRInaute discret
beloute a dit:
non ça ne marche pas, le lien qui se termine par blog.php?blog= est le lien affiché sur le site partenaire
Ah ben oui, alors non effectivement ça marche pas comme ça.
Pour que ça fonctionne il faut que tes partenaires te fournissent la nouvelle URL (celle qui finit par "exemple-news-X.html"). Cette nouvelle adresse restera affichée dans le navigateur, et le rewriting permettra d'exécuter la vraie page (en l'occurrence blog.php?blog=X).
 
WRInaute discret
Etrange car on ne peut éviter le duplicate content dans ce cas là donc pas faire de redirection301, j'ai essayé une redirection php mais le soucis c'est que ça fait une boucle.
 
Discussions similaires
Haut