URL rewriting et répertoire virtuel

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

ShePaKoiFer
Nouveau WRInaute
 
Messages: 12
Inscription: Jeu Oct 16, 2003 23:41

URL rewriting et répertoire virtuel

Message le Lun Jan 19, 2004 18:16

Salut tout le monde

Voila mon site tourne sous Xoops (un célèbre CMS pour ceux qui connaisse…) bref, j’ai un module (nsections) et j’aimerais le rewriter de façon à avoir le nom des sections dans l’url et sous forme de répertoire virtuel.

A la base le lien est de type :
h**p://www.site.com/modules/nsections/index.php?op=listarticles&secid=3

Ce que je préfèrerais :
h**p://www.site.com/nomdelasection/

Le nomdelasection est transmis par la variable $secname

Le problème c'est que secid indique à la requète quel section afficher, si on le supprime, plus rien indique quelle section afficher. J'ai essayé de combiner les deux secid et secname ce qui donne /3-Guide/ mais j'aimerais me passer du 3 Avez vous une idée à la règle que je doit mettre ?

J'ai déjà du mal à exprimer ce que je cherche (oui l'UR est encore assez flou pour moi) donc si il vous manque des infos, ou autre n'hésitez pas à me les demander :)

La réponse à ce topic me servira de modèle car je rencontre exactement le même problème pour mon forum.

Merci d'avance


mahefarivony
WRInaute accro
WRInaute accro
 
Messages: 11405
Inscription: Lun Oct 14, 2002 10:00

Message le Lun Jan 19, 2004 18:38

il sort d'ou $secname ??

ShePaKoiFer
Nouveau WRInaute
 
Messages: 12
Inscription: Jeu Oct 16, 2003 23:41

Message le Lun Jan 19, 2004 18:49

mahefarivony > De la requète Mysql il renvoi le nom de la section en toute lettre.


mahefarivony
WRInaute accro
WRInaute accro
 
Messages: 11405
Inscription: Lun Oct 14, 2002 10:00

Message le Lun Jan 19, 2004 19:13

bon.. peux tu s'il te plait nous mettre l'URL complete de départ (en entier donc) et nous donner la tete que tu aimerais que ca ait a l'arrivée..

ShePaKoiFer
Nouveau WRInaute
 
Messages: 12
Inscription: Jeu Oct 16, 2003 23:41

Message le Lun Jan 19, 2004 19:47

Bah à la base dans le script, la variable $secname n'est pas incluse dans l'URL, c'est moi qui l'utilise pour nomer mon répertoire virtuel.

Et à l'arriver cela doit donner ceci : h**p://www.site.com/nomdelasection/
$secname est le nom de la section.

Désolé si je m'exprime mal :/

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Lun Jan 19, 2004 20:57

Toujours un peu nébuleux, j'en ai peur. Tu veux, dans tes pages HTML,
Code: Tout sélectionner
http://www.site.com/nomdelasection/
et, au niveau du traitement réel
Code: Tout sélectionner
http://www.site.com/modules/nsections/index.php?op=listarticles&secid=3
où secid est lié à nomdelasection par le biais d'une correspondance en base de données? C'est bien cà?

ShePaKoiFer
Nouveau WRInaute
 
Messages: 12
Inscription: Jeu Oct 16, 2003 23:41

Message le Lun Jan 19, 2004 23:59

nikoshr > oui voila :)

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Mar Jan 20, 2004 0:10

Excellent, on progresse. Donc, quelque chose comme
Code: Tout sélectionner
RewriteRule ^(.*)/$ modules/nsections/index.php?op=listarticles&secname=$1
dans un .htaccess à la racine.
Si tu préfères en httpd.conf (plus rapide, plus sûr, plus souple mais pas forcément possible)
Code: Tout sélectionner
RewriteRule ^/(.*)/$ /modules/nsections/index.php?op=listarticles&secname=$1

Là, tu récupères secname dans ton script, tu fais un lookup dans la base pour obtenir le secid et le tour est joué

Si tu ne veux pas modifier les scripts et obtenir directement les secid, il y a les RewriteMap évoqués dans un autre fil http://www.webrankinfo.com/forums/viewtopic_7132.htm

Ca correspond à ce que tu veux ou il manque des bouts?

ShePaKoiFer
Nouveau WRInaute
 
Messages: 12
Inscription: Jeu Oct 16, 2003 23:41

Message le Mar Jan 20, 2004 12:52

nikoshr a écrit:Là, tu récupères secname dans ton script, tu fais un lookup dans la base pour obtenir le secid et le tour est joué


Qu'appelle tu un Lookup ?
Donc en fait, il faudrait que je modifi ma requete sql pour qu'elle ne s'occupe plus de secid mais de secname ? c'est bien cela ?

Sinon c'est .htaccess :/ hébergeur mutualisé oblige :(

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Mar Jan 20, 2004 13:10

J'entends par lookup aller chercher le secid dans la base correspondant au secname. Pour être plus clair, en PHP, ca donnerait quelque chose comme
Code: Tout sélectionner
$query = "SELECT secid FROM la_table WHERE secname='$secname";
$result = mysql_query($query);
$data = mysql_fetch_row($result);
$secid=$data[0];

Ou effectivement avoir comme clé d'accès le secname dans les requêtes.

Pour les RewriteMap, c'est juste la déclaration de la directive qui doit se faire dans la conf, le reste peut être utilisé dans les .htaccess. A négocier avec ton hébergeur, éventuellement.

bob23
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 114
Inscription: Lun Jan 05, 2004 0:44

Message le Jeu Fév 05, 2004 18:59

lol ShePaKoiFer !
je crois que ton site est l' un de mes principaux "concurents" sur un de mes site :D


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 Secure Access

  • Analyse des backlinks
    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.
  • Recherche de citations d'un site en texte brut
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités