Redirection 301 apres reecriture url

Nouveau WRInaute
Bonjour,
Voilà j'ai passé l'apres midi à chercher à rediriger mes pages en vain...

Voilà un exemple de ma redirection :
Code:
RewriteRule ^([0-9]+)/jeux-concours-([a-zA-Z0-9_\-]+).html /concours.php?id=$1&nom=$2

Je voudrais rediriger l'ancienne vers la nouvelle mais il se passe rien...

Si qu'elqu'un pouvais m'aider ça serait sympa je craques là...
Merci
 
WRInaute discret
Première chose qui me saute aux yeux et qui est source de problème avec plusieurs règles de réécriture: le flag L après ta règle pour ne pas continuer à évaluer les autres règles qui suivent:

Code:
RewriteRule ^([0-9]+)/jeux-concours-([a-zA-Z0-9_\-]+).html concours.php?id=$1&nom=$2 [L]

Avec cette règle, si tu essayes par exemple d'accéder à http://www.tonsite.com/123/jeux-concours-Un-test_jeu987.html tu auras le même contenu qu'avec l'adresse http://www.tonsite.com/concours.php?id=123&nom=Un-test_jeu987

As-tu bien essayé comme celà? Si oui, quel est le problème exactement?
 
Nouveau WRInaute
Merci pour ta réponse
Oui ça c'est bon, mais maintenant je voudrais que quand je tapes l'adresse : http://www.tonsite.com/concours.php?id=123&nom=Un-test_jeu987 , elle soit rediriger automatiquement sur l'adresse : http://www.tonsite.com/123/jeux-concours-Un-test_jeu987.html
ce n'est pas le cas j'ai actuellement 2 pages semblables à deux adresses différentes...
Et ça me fait du contenu dupliqué...
 
Nouveau WRInaute
Merci.
Ouai...J'ai regardé ton tuto mais en fait j suis pas trop calé donc je n'ai pas compris grand chose...
Si tu pouvais m'aider
Merci
 
WRInaute discret
Allez c'est ma journée de bonté !
Ceci devrait faire l'affaire pour ton problème:

Code:
RewriteEngine on

RewriteRule  ^([0-9]+)/jeux-concours-([a-zA-Z0-9_\-]+).html   concours.php?id=$1&nom=$2 [E=BREAK:1,L]

RewriteCond   %{ENV:REDIRECT_BREAK}     !^1$
RewriteCond   %{QUERY_STRING}   ^id=(.*)&nom=(.*)$
RewriteRule    ^concours.php$       %1/jeux-concours-%2.html? [R=301,L]
 
WRInaute discret
Peux-tu me donner la/les url(s) exacte(s) pour ton test ?
Peux-tu afficher l'entièreté de ton htaccess ?

Si tu accèdes à la nouvelle url, cela fonctionne-t-il ?
Lorsque tu accèdes à l'ancienne url, tu n'es pas redirigé vers la nouvelle url ?

Décris un maximum pour que je puisse t'aider efficacement.
 
WRInaute accro
Génère ta redirection via PHP.
Tu as toutes tes variable à disposition en $_GET --> fais ta popote et envoie un header 301 quand tu as défini le bon URL...
Pas besoin d'htaccess pour ça ;)
 
Discussions similaires
Haut