Aller au contenu

Fonction PHP inverse de l'url rewriting


Sujets conseillés

Posté

Bonjour,

Après bien des essais de contournement divers et varier notre site d'annonce s'est enfin mis à l'URL rewriting

Seulement PB:

notre script php réutilise l'URL dans certaine page pour changer l'ordre des annonces en remplaçant une variable $ORDER de l'url

Si la variable est écrite _ORDER_2.html, bien entendu, elle est ignorée

Plutôt que de tout récrire (ce que je ne saurai de toute façon pas faire) je souhaiterai trouver une fonction $url = invers-urlrewriting ($GLOBALS[REQUEST_URI])

qui me permette de traiter le nouveau lien à partir de l'url PHP retrouver

pour ensuite lui réappliquer la fonction $url=lienurlrewriting($url)

En clair je souhaiterai obtenir la fonction inverse de celle là :

(Dan doit bien la connaitre, merci au passage)

function lienurlrewriting($url) 
{
if (eregi("(.*).php(.*)",$url,$regs)) {
 $monurl = $regs[1];
 $geturl = $regs[2];
 while (eregi("(.*)(\?|&)([^=]+)=([^=]*)(.*)",$geturl,$regs)) {
 $geturl = $regs[1]."_".$regs[3]."_".$regs[4].$regs[5];
 }
 $url = $monurl.$geturl;
} elseif(eregi("(.*).php",$url,$regs)) {
 $url = $regs[1];
}
return $url.".html";
}

Est-ce que quelqu'un l'aurai en poche ?

Merci à tous

papa

Posté
(Dan doit bien la connaitre, merci au passage)

Je vois qu'on me prête des qualités que je n'ai pas :lol:

Ben non, je ne connaissais pas cette fonction. Tu l'utilises dans quel script ?

Et pourquoi ne pas modifier cette fonction pour qu'elle traite directement la variable ORDER ? Comment utilises-tu cette variable ORDER ?

Dan

Posté

hoops ! :whistling:

Désolé, la fonction vient de http://www.webmaster-experience.net qui dans sa page remercie Dan pour son article sur le rewriting.

En fait mon PB est que je greffe la fonction rewriting sur un site existant dont les fonctions sont interconnectées et complexes.

(page de ref : http://www.louer-en-france.com/locations-d...H=-&MARSEARCH=- )

N'étant pas développeur chevronné, je prefererai ne pas perturber le script existant.

En fait je voudrait juste traduire ça:

RewriteRule (.*)(_.+)_([^_]+)_([^_&]*)([^_]*)\.html $1$2&$3=$4$5\.html [N]

RewriteRule (.*)_([^_]+)_([^_]*)(.*)\.html $1.php?$2=$3$4 [L]

RewriteRule ^(.*).html $1.php [L]

en langage PHP

Comme ça, avec cette fonction, je récupère mon URL php en début de page

je la traite sans rien changer de mes pages

et je la remet en rewrite html dans les liens que je veux.

ça serait plus simple et moins impactant que de traiter variable par variable le format _...._

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...