Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3042 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] url rewriting : probleme de recup des paramètres [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] url rewriting : probleme de recup des paramètres [Résolu]

n°651190
T509
$job->GetJob(now)
Posté le 22-02-2004 à 19:45:12  profilanswer
 

Bonsoir,
 
J'essaie l'url rewriting.
 
Sur mon serveur perso et sur le serveur OVH, je n'arrive pas à récupérer les paramètres passés à ma page PHP.
 
dans le .htaccess, j'ai :
 

Code :
  1. RewriteEngine on
  2. RewriteRule ^(.*)dar/(.*)/index.html$ $1/dar.php?param=$2 [L]


 
Dans mon fichier dar.php j'ai :
 

Code :
  1. <?php
  2. echo "entree sur la page ".strftime("%H:%M:%S" )."<br>";
  3. echo "parametres GET : ".$_GET['param'];
  4. ?>


 
Théoriquement la traduction d'adresse de  
www.domaine.com/dar/toto/index.html devient
www.domaine.com/dar.php?param=toto
Pourtant le résultat obtenu est :
 

Code :
  1. entree sur la page 19:35:08
  2. parametres GET :


 
Je ne comprends pas ce qui cloche. Elle est où l'erreur ? Merci


Message édité par T509 le 03-03-2004 à 23:53:28
mood
Publicité
Posté le 22-02-2004 à 19:45:12  profilanswer
 

n°652029
T509
$job-&gt;GetJob(now)
Posté le 23-02-2004 à 16:12:09  profilanswer
 

:bounce:

n°652104
Core 666
Posté le 23-02-2004 à 16:45:45  profilanswer
 

Essaye d'appliquer le temps d'un test la même rewrite rule sur une page avec un phpinfo() et de nous donner le lien, il y a toutes les infos dedans pour voir ce qui foire dans la re-écrite :)
 
Première piste sinon : il y a des caractères spéciaux dans ta variable ? Même avec un urlencode certains font complètement bugger mod_rewrite :(

n°652207
T509
$job-&gt;GetJob(now)
Posté le 23-02-2004 à 17:35:17  profilanswer
 

j'ai modifié mon code :  
 

Code :
  1. <?php
  2. echo "entree sur la page ".strftime("%H:%M:%S" )."<br>";
  3. if (isset($_GET['param'])) echo "_GET est affectée<br>";
  4. if ($_GET['param'] == '') echo "_GET est vide<br>";
  5. echo "echo parametres GET : ".$_GET['param']."<br><br><br>";
  6. phpinfo();
  7. ?>


 
Je tape dans la barre d'adresse :
www.dar-leila.com/essai/dar/abcd/def/index.html
la traduction doit être :
www.dar-leila.com/essai/dar.php?param=abcd/def
(ce sont là les adresse dispo en ligne)
 
L'url est bien transformée en www.dar-leila.com/essai/dar.php
mais les paramètres ont disparu
j'obtiens :

Code :
  1. entree sur la page 17:28:34
  2. _GET est vide
  3. echo parametres GET :
  4. ...


 
Il est où le problème ?
Merci à tous
 

n°652235
T509
$job-&gt;GetJob(now)
Posté le 23-02-2004 à 17:57:43  profilanswer
 

Je viens d'essayer d'autres écritures de la règle .htaccess, mais là j'ai une erreur 404 ou 500 selon les cas.
 
Je penses donc que l'écriture ci dessus est bonne, mais j'ai toujours la disparition des paramètres à passer au script.
 
Des avis  ?

n°652301
T509
$job-&gt;GetJob(now)
Posté le 23-02-2004 à 18:56:44  profilanswer
 

A ne rien y comprendre !!!

n°652307
Mara's dad
Yes I can !
Posté le 23-02-2004 à 18:58:42  profilanswer
 

On te l'as dit : un coup de pninfo(); dans ta page et tu comprendra peut-être mieux ce qui se passe.
Regarde aussi dans tes logs apache.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°652319
T509
$job-&gt;GetJob(now)
Posté le 23-02-2004 à 19:05:40  profilanswer
 

Mon problème est maintenant chez OVH, et dans le PHPinfo, je ne vois pas ce qui cliche car il n'y a aucune référence à mod_rewrite

n°652650
greut
Posté le 24-02-2004 à 08:59:24  profilanswer
 

T509 a écrit :

Mon problème est maintenant chez OVH, et dans le PHPinfo, je ne vois pas ce qui cliche car il n'y a aucune référence à mod_rewrite


 
Ah, php est en CGI là.
 
Essaie comme ceci : http://evolt.org/article//18/22880/

n°652785
T509
$job-&gt;GetJob(now)
Posté le 24-02-2004 à 10:58:01  profilanswer
 

Cela ne marche pas plus.
Certain me disent que on peut le voir avec le PHPinfo, s'ils peuvent y jetter un oeil, je n'y vois rien.
 
www.dar-leila.com/essai/dar.php
 
Merci

mood
Publicité
Posté le 24-02-2004 à 10:58:01  profilanswer
 

n°652868
T509
$job-&gt;GetJob(now)
Posté le 24-02-2004 à 11:40:30  profilanswer
 

Bon et bien je crois que je vais rester sur des url classiques

n°653503
Core 666
Posté le 24-02-2004 à 18:28:05  profilanswer
 

Mince, le tableau PHP Variables est absent de ton phpinfo(), aucune possibilité de voir ce qui merde avec :(
 
Essaye la règle suivante :
 
RewriteEngine On
RewriteBase /essai
 
RewriteRule ^dar/(.*)/index.html$ dar.php?param=$2

n°653525
skylight
Made in France.
Posté le 24-02-2004 à 18:40:49  profilanswer
 

RewriteRule ^dar/(.*)\/index.html$ dar.php?param=$2  [L]

n°653597
T509
$job-&gt;GetJob(now)
Posté le 24-02-2004 à 19:39:19  profilanswer
 

JE vous remercie,
Mais cela ne fonctionne pas.
Vu ma compétence dans les regexp, le silence d'ovh à ce sujet et le temps que je perds, je vais dans un premier temps développer avec des url classiques et m'y pencher plus tard.
 
Toutefois, si l'un d'entre vous a la solution miracle, je suis preneur.
 
Merci pour l'aide.

n°654016
skylight
Made in France.
Posté le 25-02-2004 à 00:30:11  profilanswer
 

de toutes manieres l'url rewriting n'est interressant que quand on a pas mal d'argument pour ses pages, et quand on a un interet sur l'indexation de son site par les moteurs de recherches

n°654068
Core 666
Posté le 25-02-2004 à 01:10:48  profilanswer
 

Core 666 a écrit :

Essaye la règle suivante :
 
RewriteEngine On
RewriteBase /essai
 
RewriteRule ^dar/(.*)/index.html$ dar.php?param=$2


Oups, j'ai écris n'importe quoi :o  
 
Il fallait bien sur écrire RewriteRule ^dar/(.*)/index.html$ dar.php?param=$1 ;)

n°654076
skylight
Made in France.
Posté le 25-02-2004 à 01:19:38  profilanswer
 

ah ouais forcément, j'ai meme pas vu l'erreur et j'ai corrigé ave ton erreur aussi :D

n°654159
T509
$job-&gt;GetJob(now)
Posté le 25-02-2004 à 09:04:43  profilanswer
 

Merci, j'avais vu cette erreur.
 
Je voulais utiliser cette technique car j'ai constaté que même avec  quelques parametres simple, le référencement est moyen. Par contre avec une adresse en index.html, cela va beaucoup mieux.

n°654407
sebnutt
Un petit rien du tout
Posté le 25-02-2004 à 11:56:16  profilanswer
 

c'est bien ce qui me semblai l'UR ne fonctionne plus chez OVH.
 
galere.

n°655979
T509
$job-&gt;GetJob(now)
Posté le 26-02-2004 à 11:19:47  profilanswer
 

Une autre méthode est peut être d'utiliser  
RewriteRule ^(.*)dar/(.*)/index.html$ ./essai/dar.php
 
Puis de récupérer les paramètres avec $_SERVER['REQUEST_URI']
Qu'en pensez vous ?

n°661014
T509
$job-&gt;GetJob(now)
Posté le 02-03-2004 à 15:37:04  profilanswer
 

Eh bien j'avance à tout petits pas.
Je crois que j'ai un peu de mal avec les UR  :pt1cable:  
 
Ma règle de ré-écriture était foireuse
 
maintenant, j'ai ceci :

Code :
  1. RewriteEngine on
  2. RewriteRule ^dar\(.*)\/index.html$ /essai/dar.php?param=$1 [L]


 
Mon paramètre $_GET['param'] n'est plus vide mais ce n'est pas encore ce que je veux
 
pour l'adresse www.monsite.com/chemin/dar/paramètres/index.html
j'obtiens www.monsite.com/essai/dar.php?param=dar.php/paramètres
 
Pas cool  :(  

n°661315
ratibus
Posté le 02-03-2004 à 19:10:44  profilanswer
 

et comme ça :
 
RewriteEngine on  
RewriteRule ^dar/(.*)/index\.html$ /essai/dar.php?param=$1 [L]

n°661617
skylight
Made in France.
Posté le 03-03-2004 à 00:29:08  profilanswer
 

ca change rien, car le point est optionnel.

n°661695
T509
$job-&gt;GetJob(now)
Posté le 03-03-2004 à 09:30:14  profilanswer
 

Pas le temps de tester aujourd'hui, je fais cela ce soir

n°662362
T509
$job-&gt;GetJob(now)
Posté le 03-03-2004 à 23:53:05  profilanswer
 

Bon ça y est j'ai trouvé la syntaxe exacte pour mon souci :
 

Code :
  1. RewriteEngine on
  2. RewriteRule ^dar/([^/]+)/([^/]+)\/index.html$ /essai/dar.php?param=$1-$2 [L]


 
Merci à tous pour votre aide

n°662363
skylight
Made in France.
Posté le 03-03-2004 à 23:55:08  profilanswer
 

Code :
  1. RewriteEngine on
  2. RewriteRule ^dar/([^/]+)/([^/]+)\/index\.html$ /essai/dar.php?param=$1-$2 [L]


 
 
est plus correct ;) (echappement du point)

n°662364
T509
$job-&gt;GetJob(now)
Posté le 03-03-2004 à 23:56:30  profilanswer
 

C'est quoi la différence ?

n°662365
skylight
Made in France.
Posté le 04-03-2004 à 00:05:34  profilanswer
 

la différence est que en expressions régulières, le fait de mettre un point indique que à la place du point, tu attends n'importe quel caractère, y inclus le caractère point :)
 
si tu échappes le point, celà veut dire clairement que tu attends un point, et rien d'autre.
 
sinon, on pourrait appeller ta page comme ceci :
 
dar/salut/pouet/index/html
ou encore
dar/salut/pouet/index@html
 
... ;)


Message édité par skylight le 04-03-2004 à 00:06:21
n°662407
T509
$job-&gt;GetJob(now)
Posté le 04-03-2004 à 08:29:24  profilanswer
 

Merci beaucoup !!!

n°681874
Phive
Raaah Lovely
Posté le 23-03-2004 à 20:28:54  profilanswer
 

l'URL rewriting marche alors avec OVH ?
 
Car moi j'y arrive pas... :(
 
Je teste avec le tuto de webrankinfo qui me dis de faire ca : http://www.webrankinfo.com/analyse [...] ewrite.php
 
mais ca marche pas..donc c'est ke ovh ne fait pas le l'URL rewriting


---------------
/!\ Post powered by Phive-online.com /!\
n°682178
T509
$job-&gt;GetJob(now)
Posté le 24-03-2004 à 08:29:57  profilanswer
 

Si cela fonctionne, mais ils ont un module qui est modifié donc il faut respecter la règle suivante.
 

Code :
  1. RewriteEngine on
  2. RewriteRule ^dar/([^/]+)/([^/]+)\/index\.html$ /essai/dar.php?param=$1-$2 [L]


 
Commencer la ré-écriture par un "/" donc ici /essai ...
C'est écrit dans la FAQ OVH


Message édité par T509 le 24-03-2004 à 11:54:38
n°682446
Phive
Raaah Lovely
Posté le 24-03-2004 à 11:44:29  profilanswer
 

Merci bcp :)


---------------
/!\ Post powered by Phive-online.com /!\
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] url rewriting : probleme de recup des paramètres [Résolu]

 

Sujets relatifs
[PHP-SQL] Requete SQL tous les jours à une ceraine sheure ?[PHP/MySQL]PB de configuration
[Resolu][JAVA]Problème de try catch et if else[Resolu][PHP] Passer une variable dans une requete mysql_query()
[Devis] Structure PHP d un site de type "webzine"mdp plus en clair [résolu]
problème pour lire ma base de données, PROBLEME REGLE ;)[php] Jeux de dame en PHP-> refonte en objet -> Phase de test
Plus de sujets relatifs à : [PHP] url rewriting : probleme de recup des paramètres [Résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR