Un ch'tit problème sur le caractere '?'

WRInaute impliqué
Bonjour WRI :)

J'essaie de faire un UR sur les titres de mes news.

Donc je passe par urlencode et ca se passe bien. Sauf... pour les '?'

il me génère des urls de ce type

Code:
http://www.informastuces.com/v2/news-A+quand+les+freebox+%3F.php5

Qui donne des 404 pour le serv :x

Alors que pour le '!' les ')' ca passe bien.

Quelqu'un aurait une solution ?
 
WRInaute impliqué
Heu ben c'est un caractère particulier. Il l'encode sinon il penserait que c'est le séparateur de variables (normalement situé après .php5).
Les caractères spéciaux dans les URL c'est pas super, t'es obligé de les mettre ?
 
WRInaute impliqué
Bah l'url correspond à :

news - [titre de ma news (issu de la base)] .php5

Donc si j'ai un titre comme :

A quand les freebox ?

J'ai bien un '?'

D'ou mon problème... :?
 
WRInaute impliqué
Ma regle ressemble à ca :

Code:
RewriteRule ^v2/news-(.+)\.php5$ /v2/news.php5?titre=$1 [L]

tu peux pas plutôt faire news-idnews-titrenews.php5 ?

Bah je vois pas l'interet ? Ca va diluer mes mots clefs dans l'url et puis j'aurais toujours mes pbs de ?

C'est pas non plus horrible comme pb, mais doit y'avoir une parade... :)
 
WRInaute occasionnel
tu peux encoder l'url après avoir enlevé les "?" :

urlencode(str_replace('?', '', $titre))

Vérifie ausii si les "/" dans tes titres fonctionnent bien car cela risque de te faire passer dans un autre répertoire (donc liens et images cassés).
 
WRInaute impliqué
Si je prends cette solution. (qui me parait pas mal) il faut que j'ajoute l'id de la news dans mes URLs.

Parce que sinon, je pourrais plus faire mon select moi :? Vu que si je fais un where titre like tire [sans ?] il va rien me trouver !

Donc bon... faut rajouter l'id ! Tant pis... je voulais faire sans !
 
WRInaute occasionnel
ah oui, pardon, je n'avais pas vu que tu ne voulais pas mettre d'id.
ben pour continuer dans la bidouille tu peux faire un where titre like titre or where titre like titre? comme ça c'est bon ;-)
 
WRInaute impliqué
Je m'y attendais :wink:

Et quand t'as un titre du style : Je vais y arriver ? Pas si sur !!!

Ca passe pas :x

Apparemment les + dans l'url ca passe pas non plus :cry:

Donc... je vais me faire le coup de l'id et remplacer tous les caractères qui vont pas biens par d'autres ou les virer :)

Merci bien, je m'en vais coder ca :roll:
 
WRInaute impliqué
Autre question pour la route :)

Après l'article de WRI on sait que - sépare les mots. _ marche pas. Mais le + utilisé par urlencode() ? ca donne quoi ?
 
Discussions similaires
Haut