url rewriting... besoin de conseils pour ma page - PHP - Programmation
Marsh Posté le 15-09-2005 à 14:24:29
nombril a écrit : |
Ah ben avec un résumé comme ça...
Citation : |
Et ben je suppose que ça change rien du tout au niveau de la page qui s'affiche. Tu fais une règle pour chaque forme et zou.
Qu'est-ce qui ne va pas avec ton htaccess actuel ?
Marsh Posté le 15-09-2005 à 14:26:40
ça serait comme même plus logique de garder le même ordre dans les arguments
Marsh Posté le 15-09-2005 à 14:26:40
je n'en ai pas encore fais, je préfere demander des conseils pour ne pas faire de boulettes!
Marsh Posté le 15-09-2005 à 14:28:20
Pour l'ordre des arguments, c'est bien ce que je me disais, mais si jamais j'avais pas besoin de retravailler mon code php ça m'arrangerait...
Marsh Posté le 15-09-2005 à 14:29:01
nombril a écrit : je n'en ai pas encore fais, je préfere demander des conseils pour ne pas faire de boulettes! |
Eh ben celui que tu nous colles c'est pas de toi ?
A première vue il convient, mais c'est vrai que c'est pas génial, les arguments qui ont pas toujours le même ordre.
Marsh Posté le 15-09-2005 à 14:30:16
si c'est de moi, mais je l'ai pas encore testé, je suis juste allé voir des tutos et je ne suis pas sur de moi.
Donc je vais tester, voir si celui si fontionne!
Marsh Posté le 15-09-2005 à 14:39:47
j'ai créé mon .htaccess avec que ça dedans:
|
Je ne vois pas pourquoi ça ne fontionne pas...
quelqu'un peu m'aider
Marsh Posté le 15-09-2005 à 14:51:24
Ben si ça doit marcher.
Et c'est \.html, comme dans ton premier post (même si l'affichage d'HFR a masqué les \), pas .html (même si ça l'empêchera pas de marcher).
Marsh Posté le 15-09-2005 à 14:55:02
Options +FollowSymlinks |
c'est vrai, j'avais oublié.
Mais ça ne fontionne toujours pas mieux
il faut bien mettre que ça?
Marsh Posté le 15-09-2005 à 14:58:53
Ca marche pas, c'est-à-dire ?
Tu tapes quoi dans la barre d'adresse ?
Marsh Posté le 15-09-2005 à 15:01:46
Ha bin si je suis bete
je croyais que si on cliquait sur les photos du catalogue on verait une url du genre .../catalogue-1-2-3.html
mais en fait on voit toujours les ?id= etc
Marsh Posté le 15-09-2005 à 15:06:37
Ah oui ça les liens vont pas se changer tout seuls.
Marsh Posté le 15-09-2005 à 15:09:15
petit hic quand meme:
si je tape
http://www.vannerie-lambert.com/catalogue-7-10-2.html
je devrais avoir cette page:
http://www.vannerie-lambert.com/ca [...] 0&grande=2
mais ça ne fontionne pas, il ne comprend pas le parametre grande=2
Marsh Posté le 15-09-2005 à 15:10:12
T'as bien mis \. et pas . avant html ?
Marsh Posté le 15-09-2005 à 15:10:57
inverse tes deux régles, la premiére modifie l'adresse qui ne tombe donc plus dans la seconde
Marsh Posté le 15-09-2005 à 15:12:12
omega2 a écrit : inverse tes deux régles, la premiére modifie l'adresse qui ne tombe donc plus dans la seconde |
A priori son premier masque matche pas catalogue-7-10-2.html, sauf s'il a laissé . au lieu de \.
Marsh Posté le 15-09-2005 à 15:13:37
j'ai bien mis les \
et meme en inversant les regles, il ne m'affiche pas la page comme il faut..
Marsh Posté le 15-09-2005 à 15:14:25
Fout un print_r($_GET) au début de ta page.
Marsh Posté le 15-09-2005 à 15:15:12
cherchez plus, c'est encore une bétise... le [L] touchait a grande=$3
merci pour vos réponses, je me coucherais moins bete ce soir!
Marsh Posté le 15-09-2005 à 15:18:50
ReplyMarsh Posté le 15-09-2005 à 15:22:39
omega2 a écrit : Je vais sembler super con là mais comment apache il défini l'ordre des régles? |
Ben il les teste une par une selon leur ordre dans le fichier, a priori.
Marsh Posté le 15-09-2005 à 15:26:55
Ben alors à priori, il devrait pas passer dans la seconde régle vu que la premiére est censé avoir modifié l'adresse.
A moins que le "[L]" à une sifgnification que je conais pas. C'est peut être pour ça que quand j'ai testé chez moi, j'avais l'adresse du fichier sur le disque et pas sur le serveur web.
Marsh Posté le 15-09-2005 à 15:29:58
Le [L] lui dit de s'arrêter dès qu'une règle matche (de pas y aller en récursif avec les suivantes), si jme gourre pas.
Cela dit ici la première règle matche pas catalogue-7-10-2.html donc y'a pas de soucis. Et pour une url de la forme catalogue-7-10.html, la première matche mais y'a aucun risque que la seconde vienne rematcher le résultat. (C'est poétique tout ça. )
Bref ici le [L] est logique et ça évite de parser tout le fichier à chaque fois, mais j'vois pas ce que ça aurait changé sans, pour le coup.
Marsh Posté le 15-09-2005 à 15:45:23
Ha ben oui, la premiére régle ne veut aucun caractére entre le second nombre et le .html . Suis-je bête parfois à lire trop vite.
Marsh Posté le 15-09-2005 à 14:19:51
Bonjour,
je souhaiterais utiliser la fonction reecriture d'url sous apache.
Je me suis renseigné vite fait et voilà mon soucis:
ma page catalogue.php à plusieurs URL:
catalogue.php
catalogue.php?id=1&debut=0
catalogue.php?debut=0&id=1&grande=2
voilà les 3 formes les plus présentes sur ma page.
donc un coup c'est id=$1&debut=$2
puis c'est debut=$1&id=$2
est-ce que ça peut me poser des problemes quand je vais ecrire la commande dans le fichier .htaccess ?
est-ce que je peux ecrire une ligne en fontion de ces 3 cas ou je dois modifier toutes mes url dans le code php?
genre:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^catalogue-([0-9]+)-([0-9]+)\.html$ catalogue.php?id=$1&debut=$2 [L]
RewriteRule ^catalogue-([0-9]+)-([0-9]+)-([0-9]+)\.html$ catalogue.php?debut=$1&id=$2&grande=$3[L]
En résumé, est ce que je peux faire de la réécrire avec cette forme d'url et si oui quelle est la syntaxe.
Merci