[PHP] Url Rewriting et passage de variables GET

Url Rewriting et passage de variables GET [PHP] - PHP - Programmation

Marsh Posté le 04-01-2015 à 21:16:42    

Hello à tous,
 
J'ai l'impression que le sujet a été abordé 15000 fois mais aucune des explications trouvées ne m'a permis de régler mon problème. Je suis sûr que c'est simple à mort et que je passe à côté d'un truc tout con mais là je sèche...  
 
Partons d'une URL comme celle-ci :  
 

Code :
  1. http://eriksma.noip.me/newsma/chroniques


 
Voir l'URL brute dans le .htaccess :  
 

Code :
  1. RewriteRule ^chroniques$ /newsma/index.php?section=chroniques [L]


 
 
Sur cette page, j'ai un champs de recherche tout bête qui va repointer vers cette même URL. Mais comme les variables passent en GET, j'arrive avec une URL qui va ressembler à ceci :  
 

Code :
  1. http://eriksma.noip.me/newsma/chro [...] erche=test


 
Donc, une espèce de mix entre URL réécrite et trucs qui se rajoutent dessus. Le look ne me gène pas, et je voudrais vraiment les faire passer en GET et non pas en POST.  
 
Mais du coup, comment traduire ça avec l'URL Rewriting ?
 
J'ai essayé ceci mais cela ne fonctionne pas...  
 

Code :
  1. RewriteRule ^chroniques?recherche=([A-Za-z0-9]+)$ /newsma/index.php?section=chroniques&recherche=$1  [QSA]

 
 
Merci pour votre aide !  [:dawa]


---------------
SHOOT ME AGAIN WEBZINE
Reply

Marsh Posté le 04-01-2015 à 21:16:42   

Reply

Marsh Posté le 05-01-2015 à 10:19:21    

Rewrite ne s'applique qu'au path, pas aux paramètres (il s'arrête au ?).
 
Il te faut une condition sur les query string, exemple ici : http://statichtml.com/2010/mod-rew [...] tring.html
 
Bonus : http://htaccess.madewithlove.be/

Reply

Marsh Posté le 09-01-2015 à 21:40:58    

Hey merci pour le coup de main !  
 
Comme je ne voulais pas vraiment réécrire le résultat de la recherche, j'ai fait bien plus simple :  
 
RewriteRule ^chroniques$ /newsma/index.php?section=chroniques [QSA,L]  
 
Merci en tout cas !  
Bonne soirée

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed