|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre régulier
![]() Inscription : décembre 2006 Messages : 493 ![]() |
Bonjour,
J'ai des pages qui sont paramétrées en temps normal de cette façon là (index.php?page=xx). Via l'Url Rewriting j'ai pu les appeler comme ceci : Code :
Code :
J'ai bien tenté de rajouter Code :
RewriteRule ^([a-z]+)$ index.php?page=$1&id=$2 [L,QSA] |
||||
|
|
00
|
|
|
#2 | |
![]() ![]() Inscription : août 2005 Messages : 8 293 ![]() |
Citation:
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
|
00
|
|
|
#3 | ||
|
Membre régulier
![]() Inscription : décembre 2006 Messages : 493 ![]() |
C'est sensé être une variable qui est un paramètre de requête SQL, mais qui normalement ne doit pas intervenir sur l'URL. Mais je ne sais pas comment construire mon URL pour que la page soit appelée, comme si je faisais ça en fait :
Code :
mais Code :
<a href="index.php?page=sport&id=5">Sports</a> |
||
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : août 2005 Messages : 8 293 ![]() |
C'est bien le problème : si on ne trouve pas l'information id=5 dans l'url (sous n'importe quelle forme), comment Apache en devine la valeur ? On peut la coder dans le .htaccess mais dans ce cas ce sera toujours la même valeur ou bien il faudra ajouter une règle pour chaque valeur.
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : décembre 2006 Messages : 493 ![]() |
Oui j'ai bien compris ça, j'ai donc essayé de faire une url de ce genre :
avec un .htaccess comme précédemment : Code :
RewriteRule ^([a-z]+)-([0-9])$ /index.php?page=$1&id=$2 [L,QSA] |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : août 2005 Messages : 8 293 ![]() |
Quel a été le résultat obtenu, exactement ? Quelle URL exacte as-tu utilisée pour ce test ?
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : décembre 2006 Messages : 493 ![]() |
J'ai utilisé cette URL :
Et j'ai été redirigé vers la page error.php, celle qui est appelée lorsqu'un paramètre de page est passé mais que le page n'existe pas. |
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : août 2005 Messages : 8 293 ![]() |
Je ne vois pas pourquoi ça ne marche pas : la règle est correcte. Je soupçonne un conflit avec une autre règle. Tu peux donner le .htaccess en entier, s'il te plaît ?
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#9 | ||||
|
Membre régulier
![]() Inscription : décembre 2006 Messages : 493 ![]() |
Alors voici mon .htaccess:
Code :
Code :
Sauf que, du coup je suis redirigé vers la page error quel que soit le lien. Et je viens de me rendre compte d'un truc, c'est que là je suis dans un dossier d'administration, et dans le site même j'ai aussi un .htaccess. Ca peut se télescoper ? |
||||
|
|
00
|
|
|
#10 |
![]() ![]() Inscription : août 2005 Messages : 8 293 ![]() |
S'il n'y a pas d'erreur de copier-coller, l'erreur vient que le lien que tu testes est sports-56 ("56" : 2 chiffres) alors que l'expression régulière du filtre est ^([a-z]+)-([0-9])$ qui suppose que l'URL se termine par - suivi d'un seul chiffre. Il manque juste un + :
Code :
RewriteRule ^([a-z]+)-([0-9]+)$ index.php?page=$1&id=$2 [L]
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() Inscription : décembre 2006 Messages : 493 ![]() |
Il n'y avait pas d'erreur de copié-collé, j'ai donc rajouté le +.
Et je me suis rendu compte que certaines url contenaient des chiffres ET des lettres !! Héhé, le boulet !! Du coup j'ai modifié comme ceci : Code :
RewriteRule ^([a-z]+)-([a-z0-9]+)$ index.php?page=$1&id=$2 [L] |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com