"404" se transforme tout seul en "html"... [url rewriting] - Divers - Programmation
Marsh Posté le 17-03-2008 à 09:24:23
art_dupond a écrit :
|
Juste après machine, tu essayes de chercher un '?' alors que c'est un '-' qui doit y avoir, non ?
Marsh Posté le 17-03-2008 à 10:38:52
art_dupond a écrit : Je suppose que j'échappe mal le "?" mais je sais pas trop comment faire autrement |
La partie après le ? s'appelle la query string On ne peut pas la matcher dans une RewriteRule. On peut par contre le faire dans une RewriteCond, mais je sais pas si ça sera top.
Pourquoi passer par une query string ? Si tu modifiais ton url par :
Code :
|
Ce serait beaucoup plus logique
Marsh Posté le 17-03-2008 à 11:39:42
Bidem a écrit : |
je voudrais justement pouvoir mettre un "?"
FlorentG a écrit :
|
ok merci je vais chercher par là
En fait je fais comme ça parce que le query string contient un nombre (inconnu) variable de variables (sisi ) qui ne sont pas importants donc zou, tout à la fin au lieu de faire un truc récursif.
Marsh Posté le 17-03-2008 à 12:02:43
Au fait, c'est possible de faire les tests autrement qu'en faisant un .htaccess ?
C'est pas pratique pour tester si un règle marche ou pas
EDIT: en tout cas ça marche nickel en rajoutant %{QUERY_STRING} dans la chaine transformée
merci encore
Marsh Posté le 18-03-2008 à 13:33:38
Yop, nouvelle question
"404" a un statut particulier quand on url rewrite
RewriteRule ([a-zA-Z0-9_]+)/index\.html ./index.php?page=$1 [L] |
me donne transforme pomme/index.html ---> index.php?page=pomme
Ca marche bien sauf que quand je fais 404/index.html, il me sort
index.php?page = html |
je précise que ça marche avec les autres nombres (403, 200000, ...)
quelqu'un a une idée ?
Marsh Posté le 18-03-2008 à 13:59:03
il remplace 404 par la valeur de ton ErrorDocument 404, peut-être?
Marsh Posté le 18-03-2008 à 14:41:36
je sais pas on voit ça comment
quand je fais adresse/404/ sans url rewriter, il me dit qu'il ne trouve rien
et avec, il me transforme ça en html...
Bon du coup là je traite '404' et 'html' comme le même code erreur, mais ça "salit" mon code
Marsh Posté le 16-03-2008 à 17:28:32
Yop,
"404" a un statut particulier quand on url rewrite
RewriteRule ([a-zA-Z0-9_]+)/index\.html ./index.php?page=$1 [L]
me donne transforme pomme/index.html ---> index.php?page=pomme
Ca marche bien sauf que quand je fais 404/index.html, il me sort
index.php?page = html
je précise que ça marche avec les autres nombres (403, 200000, ...)
quelqu'un a une idée ?
****************************************************************************************
* RESOLU
yop,
j'aimerais faire un trouc du genre :
machine-cafe.html?supp=vanille => index.php?page=machine&type=cafe&supp=vanille
Ma règle :
Mais ça ne marche pas
Je pense que c'est à cause du ? dans
html\?(.*)
parce que ceci marche
Ca transforme
machine-cafe.html-supp=vanille => index.php?page=machine&type=cafe&supp=vanille
Je suppose que j'échappe mal le "?" mais je sais pas trop comment faire autrement
Ou est-ce que je fais une autre connerie
Marchi
Message édité par art_dupond le 18-03-2008 à 13:33:31
---------------
oui oui