Syntaxe htaccess redirection

WRInaute discret
J ai fait un htaccess suivant et qui fonctionne très bien mais je pense que qu il y a moyen de faire une seule ligne que de faire un ligne pour chaque

Mes lignes sont les suivante :

Code:
RewriteRule ^blog-fr/page-1.html       /fiche.php?VARchroniquesID=30          [R=301,L]

RewriteRule ^blog-art-fr/page-2.html /fiche.php?VARchroniquesID=29    [R=301,L]

RewriteRule ^blog-art-fr/page-3.html /fiche.php?VARchroniquesID=28    [R=301,L]

Es t il possible de rassembler ces lignes en une seule avec les paramètres appropriés.

Merci d avance
 
WRInaute passionné
Avec cette regex ça doit le faire :D
Code:
RewriteRule ^blog-art-fr/page-([0-9]){1,6}\.html$  fiche.php?VARchroniquesID=$1 [L]

J'ai mis une limite à 6 chiffres {1,6} pour la variable, à toi de modifier selon tes souhaits ! :wink:
 
WRInaute impliqué
Ce n´est pas possible si les variables ne correspondent pas... Ou alors, il faut utiliser un tableau de correspondance...
La ligne serait:
RewriteRule ^blog-(art-)?fr/page-([0-9]+)\.html? /fiche.php?VARchroniquesID=$2 [R=301,L]
 
WRInaute discret
le code fonctionne correiaj

Le code fonctionne Cerreija je vais faire les correspondances entre les ficher html et les codes PHP genre

page-1.html et fiche.php?VARchroniquesID=1
page-2.html et fiche.php?VARchroniquesID=2
...

Mais pour cela soit réellement efficace vis à vis des moteurs de recherche il faut que dans le script php qui affiche les fiches mySQL je dois placer ce code :

if ($_ENV['SCRIPT_URL'] <> 'page.html') {
header("Status: 301 Moved Permanently", false, 301);
header("Location: page.html");
exit;
}

A la place de page.html je pense que je dois le remplacer par un genre

page-([0-9]+)\.html?

pour que la fiche renvoie des fichiers html

je sais plus très bien .
 
Discussions similaires
Haut