url à 3 variables

  • Auteur de la discussion Auteur de la discussion rock69
  • Date de début Date de début
Nouveau WRInaute
Bonjour,

Je rencontre un problème lors de la réécriture de mes url ...
Elles peuvent être du style :
http://www.monsite.com/index.php?cat=$1&rub=$2
http://www.monsite.com/index.php?cat=$1&rub=$2&limit=$3



Mon fichier .htaccess :
-----------------------
RewriteEngine on
RewriteRule ^ref-(.*)-(.*).-(.*).html$ index.php?cat=$1&rub=$2&limit=$3 [L]
RewriteRule ^ref-(.*)-(.*).html$ index.php?cat=$1&rub=$2 [L]
-----------------------

La première règle ne fonctionne pas, la seconde oui ...

Svp, pouvez-vous me dire si les régles sont bien écrites ?
Merci par avance

Fab
 
WRInaute passionné
rock69 a dit:
Bonjour,

Je rencontre un problème lors de la réécriture de mes url ...
Elles peuvent être du style :
http://www.example.com/index.php?cat=$1&rub=$2
http://www.example.com/index.php?cat=$1&rub=$2&limit=$3



Mon fichier .htaccess :
-----------------------
RewriteEngine on
RewriteRule ^ref-(.*)-(.*).-(.*).html$ index.php?cat=$1&rub=$2&limit=$3 [L]
RewriteRule ^ref-(.*)-(.*).html$ index.php?cat=$1&rub=$2 [L]
-----------------------

La première règle ne fonctionne pas, la seconde oui ...

Svp, pouvez-vous me dire si les régles sont bien écrites ?
Merci par avance

Fab
:wink: hé hé hé

vire-moi cette crotte de mouche et ça va fonctionner au poil :wink:

PS : quand on met une URL exemple, il faut utiliser les URL faites pour ça, à savoir www.example.com , www.example.net et www.example.org
 
Nouveau WRInaute
Modif liens internes

oui ça fonctionne ...
et merci bien pour cette réponse rapide :D
désolé pour l'url exemple, maintenant je saurais ;-)

si j'ai bien compris le principe de l'url rewritng, maintenant
il faut que je modifie les liens à l'intérieur des pages de mon site ...

Pour les urls du type :
http://www.example.com/index.php?cat=$1&rub=$2
qui devient : http://www.example.com/ref-$1-$2.html
ça ne devrait pas me poser de problème ...

par contre pour :
http://www.example.com/index.php?cat=$1&rub=$2&limit=$3
=> http://www.example.com/ref-$1-$2-$3.html
limit est une "fonction" d'affichage page par page hors dans le script il y a $_SERVER['QUERY_STRING'] qui me "détecte" toujours l'adresse
/index.php?cat=$1&rub=$2 et non ref-$1-$2.html
je sais pas si je suis bien clair dans mes explications :?
Je ne vois pas trop comment changer les liens ici, si toutefois vous avez des suggestions, je suis fort intéressé ;-)
Thanks
 
WRInaute passionné
Ben, évidemment que ton script détecte qu'on arrive sur lui par ?cat=XX&rub=YY :)
C'est ce qui lui permet de traiter la demande..
Sinon les réécritures d'URL ne serviraient à rien !

Comment changer les liens ? tu peux utiliser le output buffering (voir doc de php) et juste avant d'envoyer aux navigateurs la page web (par un ob_flush()) tu vas remplacer dans ladite page web tous les ?cat=(.*)&rub=(.*) .. via un ereg_replace.
Un bon exemple est la fonction présente dans le includes/page_header.php et includes/page_footer.php des MOD d'url rewriting de PHPBB. Cherche un peu sur WRI tu devrais trouver rapidement.
 
WRInaute passionné
Il y a des tonnes de mod pour obtenir "les titres dans les URL des pages phpBB". c'est de ceux là que je parlais.

Et j'ai rien compris à ton histoire de "limit".
tu as réussi à changer les autres liens, et tu n'arrives pas à changer ceux là ??
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut