url rewriting : probleme de recup des paramètres [Résolu] [PHP] - PHP - Programmation
Marsh Posté le 23-02-2004 à 16:45:45
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
Marsh Posté le 23-02-2004 à 17:35:17
j'ai modifié mon code :
Code :
|
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 :
|
Il est où le problème ?
Merci à tous
Marsh Posté le 23-02-2004 à 17:57:43
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 ?
Marsh Posté le 23-02-2004 à 18:58:42
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.
Marsh Posté le 23-02-2004 à 19:05:40
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
Marsh Posté le 24-02-2004 à 08:59:24
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/
Marsh Posté le 24-02-2004 à 10:58:01
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
Marsh Posté le 24-02-2004 à 11:40:30
Bon et bien je crois que je vais rester sur des url classiques
Marsh Posté le 24-02-2004 à 18:28:05
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
Marsh Posté le 24-02-2004 à 19:39:19
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.
Marsh Posté le 25-02-2004 à 00:30:11
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
Marsh Posté le 25-02-2004 à 01:10:48
Core 666 a écrit : Essaye la règle suivante : |
Oups, j'ai écris n'importe quoi
Il fallait bien sur écrire RewriteRule ^dar/(.*)/index.html$ dar.php?param=$1
Marsh Posté le 25-02-2004 à 01:19:38
ah ouais forcément, j'ai meme pas vu l'erreur et j'ai corrigé ave ton erreur aussi
Marsh Posté le 25-02-2004 à 09:04:43
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.
Marsh Posté le 25-02-2004 à 11:56:16
c'est bien ce qui me semblai l'UR ne fonctionne plus chez OVH.
galere.
Marsh Posté le 26-02-2004 à 11:19:47
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 ?
Marsh Posté le 02-03-2004 à 15:37:04
Eh bien j'avance à tout petits pas.
Je crois que j'ai un peu de mal avec les UR
Ma règle de ré-écriture était foireuse
maintenant, j'ai ceci :
Code :
|
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
Marsh Posté le 02-03-2004 à 19:10:44
et comme ça :
RewriteEngine on
RewriteRule ^dar/(.*)/index\.html$ /essai/dar.php?param=$1 [L]
Marsh Posté le 03-03-2004 à 23:53:05
Bon ça y est j'ai trouvé la syntaxe exacte pour mon souci :
Code :
|
Merci à tous pour votre aide
Marsh Posté le 03-03-2004 à 23:55:08
Code :
|
est plus correct (echappement du point)
Marsh Posté le 04-03-2004 à 00:05:34
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
...
Marsh Posté le 23-03-2004 à 20:28:54
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
Marsh Posté le 24-03-2004 à 08:29:57
Si cela fonctionne, mais ils ont un module qui est modifié donc il faut respecter la règle suivante.
Code :
|
Commencer la ré-écriture par un "/" donc ici /essai ...
C'est écrit dans la FAQ OVH
Marsh Posté le 24-03-2004 à 11:44:29
Reply
Marsh Posté le 22-02-2004 à 19:45:12
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 :
Dans mon fichier dar.php j'ai :
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 :
Je ne comprends pas ce qui cloche. Elle est où l'erreur ? Merci
Message édité par T509 le 03-03-2004 à 23:53:28