Url rewritting et /

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Url rewritting et /

par Gico » 14 mars 2008, 20:19

ok merci
ça fonctionne, mais en fait les / dans des références ça fonctionne pas j'ai retiré les /
:wink:

par Ryle » 14 mars 2008, 11:16

Le tiret "-" doit être le dernier caractère de ta classe pour qu'il ne soit pas interprété comme un intervale. Si tu lui indique "0-9-/" comment peut-il s'avoir si tu veux les caractères dont les codes ascii sont compris entre ceux de '0' à '9' ou de '9' à '/' ou de '0' à '/' ou je ne sais quoi encore :)

Essaye comme ceci :

Code : Tout sélectionner

([a-zA-Z0-9/-]+)
Si cela ne fonctionne toujours pas, tu peux essayer de backslasher le slash (\/) mais ca ne devrait en théorie pas être nécessaire :)

par Gico » 14 mars 2008, 10:22

Ca fonctionne pas, ça me met même une erreur en plus. j'ai essayé de contourné le problème(lâchement) en éliminant le / à la source pour le remplacer par un - , mais apparemment je ne sais pas faire :cry:

j'ai cette fonction, qui me permet de nettoyer les urls qui sont récupérés à partir de données dynamiques :
function stripCar($string){
	return strtr($string,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ?:\'!.',
'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY -----');
}
mais je ne sais pas comment y intégrer un /

merci

par Hywan » 14 mars 2008, 01:50

'soir :).

Et si tu précisais que ta chaîne doit commencer par fiche-..., de cette façon :

Code : Tout sélectionner

RewriteRule ^fiche-([a-zA-Z-]+)-([a-zA-Z-]+)-([a-zA-Z0-9-/]+)-([0-9]+).html fiche_article.php?cat=$1&mq=$2$rf=$3&id=$4 [L]
(note le ^ en tout début)
Ça devrait éviter un problème sur le parsing des dossiers.

par Gico » 13 mars 2008, 23:44

voila:

RewriteRule fiche-([a-zA-Z-]+)-([a-zA-Z-]+)-([a-zA-Z0-9-/]+)-([0-9]+).html fiche_article.php?cat=$1&mq=$2$rf=$3&id=$4 [L]

c'est ([a-zA-Z0-9-/]+) qui pose problème car avec le / tous le site plante, ça se retablis si je le retire.
merci

par Ryle » 13 mars 2008, 13:33

Hmm.. ça devrait pourtant fonctionner.. le slash n'est pas un caractère spécial des expressions régulières, tu ne devrais donc pas rencontrer de problème... Tu peux nous montrer l'expression complète et un exemple de chaine/url que tu testes (et les résultats attendu/obtenu aussi, tant qu'on y est :))

Url rewritting et /

par Gico » 13 mars 2008, 12:09

Bonjour

j'aimerais autoriser la recuperation d'un / dans une variable,
j'ai fait ça:

[a-zA-Z0-9/-]

mais ça ne fonctionne pas.

merci