URL rewriting et nombre de parametres variable!

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

achaternet
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mar Fév 11, 2003 12:44

URL rewriting et nombre de parametres variable!

Message le Mar Fév 11, 2003 13:04

Bonjour,
Voilà le petit hic que je rencontre:

Je souhaiterai utiliser la methode de la reecriture de l'url par URL rewriting.

Pour ce qui concerne un nombre de parametre bien definie, il n'y pas trop de pb.

Mais qd les parametres sont different et leur nombre aussi, comment puis-je ecrire mon .htaccess du coup?? 8O 8O
expl:
rprob.php3?sstheme=accessoire&nom=trucmuch

dc là: ya sstheme et nom, mais il pourrait y avoir

rprob.php3?ici=0&sstheme=accessoire&choix_type=cpu&choix_marque=olitec

Comment faire?? :roll:


hetzeld
WRInaute accro
WRInaute accro
 
Messages: 2209
Inscription: Lun Déc 02, 2002 18:21

Message le Mar Fév 11, 2003 13:22

Bonjour et bienvenue sur les Forums de WebRankInfo !
Je te suggère de lire l'intro réservée aux nouveaux arrivants, tu y trouveras sûrement une mine d'informations utiles.

Pour revenir à ton problème...
Lorsqu'on attaque l'URL rewriting, il faut raisonner "à l'envers", c.à.d. en réfléchissant à la manière dont les URL seront présentées au monde extérieur.
Une fois ce style défini, c'est assez simple d'en extraire les règles de réécritures, même pour des paramètres variables en nombre/nom.

As-tu déjà défini le look de tes URL, tel que tu voudrais l'afficher?

Cordialement,

Dan


Kmacleod
WRInaute accro
WRInaute accro
 
Messages: 3418
Inscription: Jeu Nov 28, 2002 15:47

Message le Mar Fév 11, 2003 14:27

Pour ce genre de problème, j'ai fait de la sorte

Pour
Code: Tout sélectionner
articles.php?pg=site12&doc=item0036

et aussi

Code: Tout sélectionner
articles.php?pg=site12


Il y a deux url_rewritting dans le .htaccess
dans l'ordre ce celui qui a le plus de parametre à celui qui a le moins de paramétres (à parametre identique)

Pour info après avoir vu ton site, je ne sais pas ce que donnera l'url_werrinting, s'il y a que des paramètres alpha, voire texte.


absoluteweb
WRInaute impliqué
WRInaute impliqué
 
Messages: 474
Inscription: Ven Nov 22, 2002 16:02

Message le Mar Fév 11, 2003 16:59

Avec le composant ISAPI_Rewrite pour Windows (pourtant limité :lol: ) on peut boucler pour gérer un nombre de paramètres variable
Code: Tout sélectionner
RewriteRule /([^/]*)/([^/]*)(.*)page.asp(.+)? $3page.asp(?4$4&:\?)$1=$2 [N,I]

Le flag N permet de boucler
Une condition (variable 4) permet de savoir si l'on doit placer un ? (premier paramètre) ou un & (paramètres suivants).

La règle ci-dessus transforme:
h**p://www.domaine.com/page.asp?a=A&b=B&c=C
en
h**p://www.domaine.com/a/A/b/B/c/C/page.asp

Sans doute avez-vous la même possibilité sous Apache :wink:

achaternet
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mar Fév 11, 2003 12:44

Message le Mar Fév 11, 2003 17:39

De: hetzeld
As-tu déjà défini le look de tes URL, tel que tu voudrais l'afficher?
Lorsqu'on attaque l'URL rewriting, il faut raisonner "à l'envers", c.à.d. en réfléchissant à la manière dont les URL seront présentées au monde extérieur.


Disons que vu la complexité de mon nombre de parametres, je verai en fct.

absoluteweb:

Avec le composant ISAPI_Rewrite pour Windows (pourtant limité ) on peut boucler pour gérer un nombre de paramètres variable


Il me semble que ça serait plus de ce type là de composant rewrite qui me permettrait generer les urls, peut important le nombre de champs.

Je ne souhaite pas , bien entendu inscrire TOUS les parametres possibles dans mon .htacess :lol:

Quelqu'un pourrait-il m'expliquer un peu plus en details les conditions du composant ISAPI_Rewrite??

Thks.


absoluteweb
WRInaute impliqué
WRInaute impliqué
 
Messages: 474
Inscription: Ven Nov 22, 2002 16:02

Message le Mar Fév 11, 2003 17:46

achaternet a écrit:Quelqu'un pourrait-il m'expliquer un peu plus en details les conditions du composant ISAPI_Rewrite??

C'est un composant pour IIS pas pour Apache...
Comme je l'indique, peut être que cette boucle est réalisable sous Apache avec le module de rewriting inclu (me dites pas qu'il y a un truc possible sous IIS et impossible sous Apache :lol: ).

achaternet
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mar Fév 11, 2003 12:44

Message le Mer Fév 12, 2003 10:13

RewriteRule /([^/]*)/([^/]*)(.*)page.asp(.+)? $3page.asp(?4$4&:\?)$1=$2 [N,I]

Je n'arrive pas a aboutir a autre chose que err 500 (int. serv error) avec cette expl ci ou
autre ds mon .htaccess.
Bon, j'ai testé avec easyphp (en transformant page.asp en page.php)
et en essayant different url.
Je ne sais pas ce qui ne va pas et j'avoue ss honte ne pas avoir reussi a executer correctement d'autre expl de ce genre:
ds .htaccess
RewriteEngine on
RewriteCond ...
RewriteRule ...
marche poa :? :?
Pour l'instant, ce que j'arrive a faire et qui fct (inspiré de jounal du net):
ds .htaccess:
<FilesMatch "^messages$">
ForceType application/x-httpd-php
</FilesMatch>
et le contenu de messages:

<?
$chain="rpro.php?";
$tab=explode("/",$REQUEST_URI);
$id=$tab[count($tab)-1];
$vars=explode("_",$id);
$nbvars=count($vars);
for ($i=0;$i<$nbvars;$i++)
{
if (strrpos($vars[$i],".html"))
{ $vars[$i]=strtok($vars[$i], ".");}
if (strrpos($vars[$i],"="))
{
eval("$$vars[$i];");
}
echo("<br>i: $i $vars[$i]");
$chain=$chain."$vars[$i]";
}
$vars[$nbvars-1]=strtok($vars[$nbvars-1], ".");
$test=$vars[$nbvars-1];
include("page1.php");
?>
cela fonctionnne.
La façon d'ecrire l'url :
../rpro.php?toto=modem&tata=carte en
../messages/toto=modem_tata=carte.html

La recup des variables fct zossi vers la page1.php

2EME VERSION:
messages:

<?
$chain="rpro.php?";
$tab=explode("/",$REQUEST_URI);
$id=$tab[count($tab)-1];
$vars=explode("_",$id);
$nbvars=count($vars);
echo("nb param: $nbvars<br>");
for ($i=0;$i<$nbvars;$i++)
{
if (strrpos($vars[$i],".html")) { $vars[$i]=strtok($vars[$i], ".");}
if (strrpos($vars[$i],"="))
{
$vars[$i]=ereg_replace("%20"," ",$vars[$i]);
echo("<H1><br>$vars[$i]<br></H1>");
eval("$$vars[$i];");
}
echo("<br>i: $i $vars[$i]");
if ($i<>0) {$chain=$chain."&";}
$chain=$chain."$vars[$i]";
}
$vars[$nbvars-1]=strtok($vars[$nbvars-1], ".");
$test=$vars[$nbvars-1];
echo("<H1> ce qui donne: $chain</H1>");
include("page1.php");
?>

car en fait, ds l'url j'ai des param de la forme rpro.php?toto=le meilleur des robots
d'ou le %20 pour le eval pour l'affectation des variables!

Bon voilà, ya pas PLUS SIMPLE ?? :roll:

thks


hetzeld
WRInaute accro
WRInaute accro
 
Messages: 2209
Inscription: Lun Déc 02, 2002 18:21

Message le Mer Fév 12, 2003 10:32

Achaternet,

J'ai été faire un petit tour sur ton site et pense sincèrement qu'avant d'envisager une quelconque réécriture d'URL, il y aurait une phase de "nettoyage" d'URLs qui devrait être réalisée.

Un certain nombre de liens ne fonctionnent pas et une redirection sur le site de GrosBill suite au choix d'un article s'est même soldée par une erreur 500 (chez GrosBill) dûe très certainement à une URL "non comprise" :oops:

Le fait de réécrire des URLs va très certainement rendre cette opération de "re-design" beaucoup plus complexe qu'elle ne l'est déjà et, AMHA, il serait raisonnable de la reporter à plus tard.

Cordialement,

Dan

achaternet
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mar Fév 11, 2003 12:44

Message le Mer Fév 12, 2003 10:42

J'ai été faire un petit tour sur ton site et pense sincèrement qu'avant d'envisager une quelconque réécriture d'URL, il y aurait une phase de "nettoyage" d'URLs qui devrait être réalisée.


1/ Oui, je sais. En fait il y a un pb sur certains themes du site, je vais m'en occupé aprés..

2/ Il y a aussi des nettoyages de passage de parametre:
du genre:
rpro.php?toto=modem&titi=&tata=pci
en fait donc ds ce cas, il faudra que je n'affiche pas "titi=" qui ne vaut rien :lol:

Mon pb reste tj ss solution pour l'instant :(

AU SECOUR, tant que j'ai pas fait de modif sur mon site a propos des urls, google et les autres ne referenceront que la 1ere page, sniff


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Alerts

  • Analyse de popularité
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité