Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Rewrite Rules avec .htaccess

7 réponses
Avatar
VarioFlux
Bonjour,

Suite à un récent message où je cherchais à réécrire mes url, les
indications fournis par les contributeurs m'ont permis d'arriver à un
.htaccess composé de :

RewriteEngine on
RewriteRule ^([^/]+).html$ index.php?pg=$1 [L]

qui fonctionne très bien, mais ne me permet que de gérer une seule
page, c'est à dire que toto.html devient index.php?pg=toto

Comment puis-je faire si je veux obtenir une 2ème page différente,
comment écrire une 2ème règle quoi ?

Je m'explique : mon site parle de dressage de chiens. Je voudrais que
le fonctionnement actuel subsiste, mais que si l'url est
"dressage-chien-photo-toto.html" ce ne soit plus la page "index.php"
qui soit rewritée mais la page "dressage-chien-photo.php?pg=toto", sans
modifier bien sûr les autres pages...

Je dois reprendre la totalité de mes pages ou bien il est possible de
le rendre générique ?

Merci

7 réponses

Avatar
simOn
VarioFlux wrote:
Bonjour,

Suite à un récent message où je cherchais à réécrire mes url, les
indications fournis par les contributeurs m'ont permis d'arriver à un
.htaccess composé de :

RewriteEngine on
RewriteRule ^([^/]+).html$ index.php?pg=$1 [L]

qui fonctionne très bien, mais ne me permet que de gérer une seule page,
c'est à dire que toto.html devient index.php?pg=toto

Comment puis-je faire si je veux obtenir une 2ème page différente,
comment écrire une 2ème règle quoi ?

Je m'explique : mon site parle de dressage de chiens. Je voudrais que le
fonctionnement actuel subsiste, mais que si l'url est
"dressage-chien-photo-toto.html" ce ne soit plus la page "index.php" qui
soit rewritée mais la page "dressage-chien-photo.php?pg=toto", sans
modifier bien sûr les autres pages...

Je dois reprendre la totalité de mes pages ou bien il est possible de le
rendre générique ?

Merci




RewriteRule ^(dressage-chien-photo-([a-z]+).html$
dressage-chien-photo.php?pg=$1 [L]

à insérer avant la régle générique!
Avatar
VarioFlux
simOn a présenté l'énoncé suivant :
RewriteRule ^(dressage-chien-photo-([a-z]+).html$
dressage-chien-photo.php?pg=$1 [L]
à insérer avant la régle générique!



merci ça marcheeeeeeeee !
encore une colle (pour moi !)

une url du type : category.php?id%&numW&expand=all

ça doit se définir comment pour gérer un lien category-25-57-all

les expression régulière, c'est vraiment pas mon truc, mais à la longue
!!!

--
VarioFlux
http://www.educador.fr
Centre d'éducation canine sur la Côte d'Azur
Avatar
VarioFlux
VarioFlux a couché sur son écran :
simOn a présenté l'énoncé suivant :
RewriteRule ^(dressage-chien-photo-([a-z]+).html$
dressage-chien-photo.php?pg=$1 [L]
à insérer avant la régle générique!



merci ça marcheeeeeeeee !
encore une colle (pour moi !)

une url du type : category.php?id%&numW&expand=all

ça doit se définir comment pour gérer un lien category-25-57-all



J'ajouterais même que cette dernière url contient parfois 2 ou parfois
3 paramètres, ça devient ingérable, non ?

--
VarioFlux
http://www.educador.fr
Centre d'éducation canine sur la Côte d'Azur
Avatar
Thibaut Allender
on 24/08/2004 17:01, VarioFlux wrote :

une url du type : category.php?id%&numW&expand=all
ça doit se définir comment pour gérer un lien category-25-57-all



RewriteRule ^category-([0-9]+)-([0-9]+)[-]*([a-z]*)$
category.php?id=$1&num=$2&expand=$3 [L]

non testé...
l'id et le num sont obligatoires, mais pas l'expand
on peut donc avoir:

category-25-57-all ou category-25-57

les expression régulière, c'est vraiment pas mon truc, mais à la longue !!!



tu nous feras 10 expressions regulieres chaque matin :)

--
thibaut allender | freelance | http://capsule.org
Avatar
VarioFlux
Thibaut Allender a présenté l'énoncé suivant :
on 24/08/2004 17:01, VarioFlux wrote :

une url du type : category.php?id%&numW&expand=all
ça doit se définir comment pour gérer un lien category-25-57-all



RewriteRule ^category-([0-9]+)-([0-9]+)[-]*([a-z]*)$
category.php?id=$1&num=$2&expand=$3 [L]

non testé...
l'id et le num sont obligatoires, mais pas l'expand
on peut donc avoir:

category-25-57-all ou category-25-57



Merci...
Je constate de plus que le concepteur de cette galerie photo, pour le
1ier paramètre utilise parfois des chiffres, parfois du texte ("recent"
ou bien "most_visited" par exemple). J'en perd mon ... (ça s'appelle
comment la langue des Apaches ?)

les expression régulière, c'est vraiment pas mon truc, mais à la longue !!!


tu nous feras 10 expressions regulieres chaque matin :)



On a droit au copier/collé ?
:o)

--
VarioFlux
http://www.educador.fr
Centre d'éducation canine sur la Côte d'Azur
Avatar
Thibaut Allender
on 24/08/2004 17:32, VarioFlux wrote :

Merci...
Je constate de plus que le concepteur de cette galerie photo, pour le
1ier paramètre utilise parfois des chiffres, parfois du texte ("recent"
ou bien "most_visited" par exemple). J'en perd mon ... (ça s'appelle
comment la langue des Apaches ?)



dans ce cas, il faut elargir son "scope", comme ceci :

RewriteRule ^category-([a-z0-9]+)-([0-9]+)[-]*([a-z]*)$
category.php?id=$1&num=$2&expand=$3 [L]

On a droit au copier/collé ?



donne moi tes doigts... :)

--
thibaut allender | freelance | http://capsule.org
Avatar
VarioFlux
Thibaut Allender a couché sur son écran :
on 24/08/2004 17:32, VarioFlux wrote :

Merci...
Je constate de plus que le concepteur de cette galerie photo, pour le 1ier
paramètre utilise parfois des chiffres, parfois du texte ("recent" ou bien
"most_visited" par exemple). J'en perd mon ... (ça s'appelle comment la
langue des Apaches ?)



dans ce cas, il faut elargir son "scope", comme ceci :
RewriteRule ^category-([a-z0-9]+)-([0-9]+)[-]*([a-z]*)$
category.php?id=$1&num=$2&expand=$3 [L]



Et pour finir... (roulement de tambour) selon les cas les paramètres
changent d'ordre !
Mais ça je dois pouvoir le gérer en mettant plusieurs lignes de
règles...
(je vais finir par croire qu'elle n'est pas si propre que ça ma belle
phpWebGallery)

On a droit au copier/collé ?


donne moi tes doigts... :)



Combien, tous ?
Pas de copié/collé avec mes doigts, hein, j'en ai besoin !
:')

--
VarioFlux
http://www.educador.fr
Centre d'éducation canine sur la Côte d'Azur