URL rewriting avec variable dans l'URL... :(

Tyra3l

Nouveau WRInaute
Bonjour,

J'ai un petit soucis donc je me tourne vers vous :)

Voilà j'ai un site où les pages sont de cette forme : localhost/back/mapage.php?metier=X (ou X est un mot)
X peut varier (c'est le but en fait o_O) afin d'afficher différentes informations en fonction du mot entré...

J'aimerai que mon URL localhost/back/mapage.php?metier=X soit rewritée en localhost/X/back/mapage.php et que bien sur lorsque je clique sur mon onglet qui comporte l'URL localhost/back/mapage.php?metier=X il ne remette pas l'URL non-rewrité...

Enfin un URL rewrité quoi... xD

J'ai commencé ça mais ça marche pas et je désespère là...


Voilà ce que j'ai essayé de faire :


Code:
Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^(.*)/back/lmapage.php$ /mapage.php?metier=$1 [L]

Merci d'avance de me tirer de ce mauvais pas...
 

dorian53

WRInaute passionné
Salut et bienvenue sur le forum,

Tyra3l a dit:
J'aimerai que mon URL localhost/back/mapage.php?metier=X soit rewritée en localhost/X/back/mapage.php et que bien sur lorsque je clique sur mon onglet qui comporte l'URL localhost/back/mapage.php?metier=X il ne remette pas l'URL non-rewrité...
Il y a un point qui ne va pas ici.
Si tu rediriges toutes tes URLs avec la variable metier=X vers une seule page mapage.php, il n'y a alors plus rien pour la différencier ?
Voulais-tu dire metier.php ?
 

skyll

WRInaute passionné
dorian53 a dit:
Si tu rediriges toutes tes URLs avec la variable metier=X vers une seule page mapage.php, il n'y a alors plus rien pour la différencier ? Voulais-tu dire metier.php ?
Euh.. si si, apparemment il souhaite différencier les page par le repertoire supérieur
"toto"/back/mapage.php
"tata"/back/mapage.php
etc.

Sinon, la question est :

- ceci ne marche pas : RewriteRule ^(.*)/back/lmapage.php$ /mapage.php?metier=$1
ou
- quand je clique sur un lien dans un onglet, l'url n'est pas rewrité ?

au fait y'à un l dans ta ligne... normal ? :mrgreen:

ou alors j'ai pas très bien saisi ? :mrgreen:
 

Tyra3l

Nouveau WRInaute
Bonjour,

Désolé du temps de réponse, j'étais en pseudo-vacances :D

Donc en effet comme le dit skyll je souhaite différencier mes pages par toto/back/metier.php tata/back/metier.php etc...

Pour le "l" en trop c'est une erreur de frappe désolé mais ça ne change rien xD

Lorsque je tape donc localhost/back/mapage.php?metier=toto, ça reste tel quel dans la barre d'URL au lieu de m'afficher localhost/toto/back/mapage.php...

De même pour mes onglets de menu, quand je passe ma souris sur un onglet, en bas je vois marqué localhost/back/mapage.php?toto au lieu de localhost/toto/back/mapage.php.

Idem quand je clique sur l'onglet ça me met dans la barre d'URL l'URL non redirigée :/

Merci encore :)
 

skyll

WRInaute passionné
ok !! je vois le soucis :)
l'url rewriting, c'est le système de ré:)

après, à toi de générer (dynamiquement ou à la mano) les nouveaux liens rewrités dans ton code source :mrgreen:
 

Tyra3l

Nouveau WRInaute
Euh, désolé mais je n'ai pas compris :s

Le système de ré ? :|

Comment générer les liens etc..

Merci de ton aide :)
 

skyll

WRInaute passionné
ben... comment dire...
tes url, si lorsque tu passe dessus avec ta souris, ce sont pas les bonnes, c'est qu'elle ne sont pas correcte dans ton code source.. il faut donc les générer, ca se fais pas tout seul.

aurais-tu la possibilité de donner l'url de ton site ?
 

Tyra3l

Nouveau WRInaute
Je suis malheureusement en local :X

Je vois pas trop comment faire pour les URL mais j'vais creuser dans cette direction :)
 

skyll

WRInaute passionné
ben.. c'est pas très dur...
tu utilise un cms ? ou c'est un site que tu as dévellopé ?
 

skyll

WRInaute passionné
donc, ca devrais pas être compliqué...
la ou tes lien sont, il suffit de les mettre sous leur forme rewrité, et le tour est joué :)
 

Tyra3l

Nouveau WRInaute
[RESOLU]URL rewriting avec variable dans l'URL... :(

Je suis désolé de re-solliciter de l'aide :x

J'ai un léger problème suite à l'URL rewriting, je m'explique :

J'ai ce code-ci dans une page x.php

Code:
<?php
if($_SESSION['fvisu'] == 0)
     echo '<a href="mod_pharm.php?id='.$val['ID'].'&page='.$page.'">';
?>



et je tente de récupérer la valeur de cette façon dans une page y.php :

Code:
<?php
if(isset($_GET['id']))
    $id = (int)$_GET['id'];
else
    $id = 0;
?>



Le problème étant que, peu importe la valeur dans l'URL de id, $id est toujours égal à 0 et ceci même en
modifiant l'URL à la main...

J'ai bien testé la valeur de
Code:
<?php $_SESSION['fvisu'] ?>

et la valeur retournée est bien conforme à mes attentes.

Toutefois lorsque j'utilise l'URL non rewritée, ça marche sans soucis, par contre avec l'URL rewritée, pas moyen...

Je ne comprends donc pas pourquoi je ne peux pas récupérer ma valeur dans l'URL id=...

Si vous pouviez m'aider...

Merci d'avance.

EDIT : j'ai trouvé grâce aux options QSA :D
 

Discussions similaires

Haut