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

  FORUM HardWare.fr
  Programmation
  Divers

  [url rewriting] "404" se transforme tout seul en "html"...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[url rewriting] "404" se transforme tout seul en "html"...

n°1703073
art_dupond
je suis neuneu... oui oui !!
Posté le 16-03-2008 à 17:28:32  profilanswer
 

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 :

Code :
  1. RewriteRule machine\?(.*)\.html\?(.*) ./index.php?page=machine&type=$1&$2 [L]


Mais ça ne marche pas :(
Je pense que c'est à cause du ? dans

html\?(.*)


parce que ceci marche

Code :
  1. RewriteRule machine-(.*)\.html-(.*) ./index.php?page=machine&type=$1&$2 [L]
 

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 :jap:

Message cité 2 fois
Message édité par art_dupond le 18-03-2008 à 13:33:31

---------------
oui oui
mood
Publicité
Posté le 16-03-2008 à 17:28:32  profilanswer
 

n°1703242
Bidem
Posté le 17-03-2008 à 09:24:23  profilanswer
 

art_dupond a écrit :


Code :
  1. RewriteRule machine\?(.*)\.html\?(.*) ./index.php?page=machine&type=$1&$2 [L]




 
Juste après machine, tu essayes de chercher un '?' alors que c'est un '-' qui doit y avoir, non ?

n°1703264
FlorentG
Unité de Masse
Posté le 17-03-2008 à 10:38:52  profilanswer
 

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 :
  1. machine-cafe/supp/vanille.html


Ce serait beaucoup plus logique [:petrus dei]

n°1703333
art_dupond
je suis neuneu... oui oui !!
Posté le 17-03-2008 à 11:39:42  profilanswer
 

Bidem a écrit :


 
Juste après machine, tu essayes de chercher un '?' alors que c'est un '-' qui doit y avoir, non ?


 
je voudrais justement pouvoir mettre un "?" ;)
 

FlorentG a écrit :


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 :
  1. machine-cafe/supp/vanille.html


Ce serait beaucoup plus logique [:petrus dei]


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 :p) qui ne sont pas importants donc zou, tout à la fin au lieu de faire un truc récursif.


---------------
oui oui
n°1703355
art_dupond
je suis neuneu... oui oui !!
Posté le 17-03-2008 à 12:02:43  profilanswer
 

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 :sweat:

  


EDIT: en tout cas ça marche nickel en rajoutant %{QUERY_STRING} dans la chaine transformée :)

 

merci encore :jap:


Message édité par art_dupond le 17-03-2008 à 12:13:26

---------------
oui oui
n°1704036
art_dupond
je suis neuneu... oui oui !!
Posté le 18-03-2008 à 13:33:38  profilanswer
 

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 ? :)


Message édité par art_dupond le 18-03-2008 à 13:33:48

---------------
oui oui
n°1704054
skeye
Posté le 18-03-2008 à 13:59:03  profilanswer
 

il remplace 404 par la valeur de ton ErrorDocument 404, peut-être?[:autobot]


Message édité par skeye le 18-03-2008 à 13:59:28

---------------
Can't buy what I want because it's free -
n°1704103
art_dupond
je suis neuneu... oui oui !!
Posté le 18-03-2008 à 14:41:36  profilanswer
 

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 :o


---------------
oui oui

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

  [url rewriting] "404" se transforme tout seul en "html"...

 

Sujets relatifs
[HTML]Construction de fichier HTML à la volée[Résolu][HTML/CSS] Selecteur d'elements pere-fils + table
[gnuplot] Une seul variableRécupération données .html dans un fichier .txt
Taille d'une fenetre HTML[Résolu] file_exists et erreurs 404 serveur.
réécriture d'1 script javascript de control d'1 balise html<div en phpMail html : Décallage IE => soluce et nouveau problème
formulaire html et liste déroulante, problème avec l'option par défaut 
Plus de sujets relatifs à : [url rewriting] "404" se transforme tout seul en "html"...


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