Redirection permanente

WRInaute discret
Bonjour,
Comment je fais pour envoyer les visiteurs par .htaccess:
- de chant_a_fr.html (Url rewrité) (le 'a' peut prendre comme valeur toutes les lettres de l'alphabet)
- à chant-a-fr.html (Url rewrité)



Merci
Web
 
WRInaute discret
Le code tel qu'il est ne marche pas :-(
mais si je met :
Code:
RewriteRule ^chant_(.*)_(.*).html$ chant-$1-$2.html [L]
sans R=301 ça marche.
Alors a quoi sert R=301 et comme c'est une redirection, je pense qu'il faut le mettre non??

Merci
 
WRInaute discret
en fait le R301 permet de faire la redirection de type permanente

Pour le reste je suis pas un expert, je voudrais pas dire de conneries.
 
WRInaute passionné
web a dit:
Le code tel qu'il est ne marche pas :-(
mais si je met :
Code:
RewriteRule ^chant_(.*)_(.*).html$ chant-$1-$2.html [L]
sans R=301 ça marche.
Alors a quoi sert R=301 et comme c'est une redirection, je pense qu'il faut le mettre non??

Merci
'est pas bon ça, si chant-.. est aussi réécrite, tu empeches sa règle de s'exécuter, avec ton [L]
mets juste le R=301, sans le [L]
 
WRInaute discret
En effet, chant-(.*)-(.*).html est aussi réecrite et ça marche parfaitement si je met le code juste en bas du code qui réecrit chant-(.*)-(.*).html

Mais le probleme c'est que si je mets R=301 seul a la place de [L], la redirection ne marche pas et je vois une page d'erreur 404. C'est pt etre parce que chant_(.*)_(.*).html n'est plus réecrit.
En fait, je besion d'une redirection permanente car avant j'avais des pages du style chant_(.*)_(.*).html et mtn elles n'existent plus, j'ai meme enlevé le code qui permettait d'ecrire cette page et pour ne pas avoir d'erreur 404 je veux les rediriger vers la nouvelle page.

est ce que je peux laisser le code sans r=301 ou je dois le changer?

Merci
 
WRInaute discret
voici l'ancien code
Code:
RewriteRule ^chant_(.*)_(.*).html$ chant.php?nom=$1&lang=$2 [L]
Maintenant j'utilise la meme chose sauf que a la place de _ je mets - .

Et dans le fichier .htaccess j'ai plus l'ancien code, je n'ai que le nouveau
Code:
RewriteRule ^chant-(.*)-(.*).html$ chant.php?nom=$1&lang=$2 [L]
et merci pour rediriger, je melange souvent avec l'anglais :lol:
 
WRInaute passionné
Donne-moi maintenant le code complet qui ne marche pas, avec la règle que je t'ai donnée + celle-ci, bref toute la partie intéressante du .htaccess.
 
WRInaute discret
Code:
#Nouvelle page
RewriteRule ^chant-(.*)-(.*).html$ chant.php?nom=$1&lang=$2 

#Ancienne page
RewriteRule ^chant_(.*)_(.*).html$ chant.php?nom=$1&lang=$2

#Redirection
RewriteRule ^chant_(.*)_(.*).html$ chant-$1-$2.html [R=301]
 
Discussions similaires
Haut