rewrite URL avec regexp

Nouveau WRInaute
Bonjour,
Mes différentes recherches ne m'ont pas permis de répondre à mon problème, mais peut-être que j'ai raté des liens.
Je me présente, je m'apelle eric, je suis le développeur et le créateur de 123ventes.com
Avec ma solution je génère des sites web dynmiques.
Concernant l'url rewriting j'ai vu des exemples comme :
RewriteRule ^article-([0-9]+)-([0-9]+).html$ /articles/article.php?id=$1&rubrique=$2 [L]

Pour que cela foctionne il faut donc changer les liens ( dans le site en "dur" ) de /articles/article.php?id=$1&rubrique=$2 vers article-([0-9]+)-([0-9]+).html$

Mais je me demande comment on doit traduire article-([0-9]+)-([0-9]+).html$ vers une forme fixe ? autrement quand on change les liens comment on peut connaîtres les valeurs ( puisque c'est un paramètre ? ).

Je ne sais pas si ma question est claire, ou bien posée, quelque chose a du m'échapper....


Un grand merci à toute personne qui a compris et qui peut m'aiguiller !
 
WRInaute accro
Bonjour

$1 et $2 sont les deux paramètres id et rubrique.

Ce devrait être facile dans ton site, de changer

"/articles/article.php?id=" . $id . "&rubrique=" . $rubrique

vers : article-" . $id . "-" . $rubrique . ".html
 
Nouveau WRInaute
Re-bonjour,
J'ai trouvé effectivement ce qu'il faut faire, le lien doit lui aussi-être dynamique. Par exemple :
article-([0-9]+)-([0-9]+).html$ devient un lien du type article-'.$id.'-'.$rubrique.'.html$
Avec $id et $rubrique = variables php.

Je me suis autorépondu, mais j'espère que cela peut aider certains....

Et du coup je bloque sur le problème suivant :

j'ai des liens relatifs, du genre :
RewriteRule ^accueil-([A-Z]*)-test.html$ ../../accueil-'.$lg.'.html&refresh=Oui&jeviensDeIndex=0 [L]
mais ça ne fonctionne pas, ce n'est pas relatif...ça envoit dans le repertoire ou il y a le lien.

Merci si quelqu'un peut à nouveau m'aiguiller !
 
Nouveau WRInaute
Re,

problème avec les liens relatifs :
RewriteRule ^accueil-([A-Z]*)-test.html$ ../../index.php?affPageSite=0&lg=$1&refresh=Oui&jeviensDeIndex=0 [L]

me renvoie dans le dossier du lien et ne remonte pas les ../../ ( du coup 404 )

Quelqu'un a une idée ? D'avance merci
 
Nouveau WRInaute
Bonjour,
Encore une fois je m'auto réponds car j'ai fini par trouvé : Il faut mettre le relatif sur le lien et pas sur la règle.
(le htaccess étant au niveau de index, et le lien etant dans un sous/sous dossier)

Ce qui donne :
RewriteRule ^accueil-([A-Z]*)-([A-Za-z]*)-([0-9]+).html$ ./index.php?affPageSite=0&lg=$1&refresh=$2&jeviensDeIndex=$3 [L]

et le lien : ../../accueil-'.$lg.'-Oui-0.html
 
Discussions similaires
Haut