URL Rewritting

Eléphanteau du PHP | 16 Messages

11 août 2022, 18:53

Bonjour ,

Petite question,

J'ai une URL de la forme : https://monsite.fr/article.php?cat=$1&s ... g=$3&id=$4

où cat = catégorie sc = sous-catégorie slug = le titre et l'id

J'ai déja réussi à ecrire quelque chose de plus propre : https://monsite.fr/article/slug-id

avec pour code dans le fichier .htaccess :
RewriteEngine On
RewriteRule article/([a-zA-Z0-9\-]+)-([0-9]+)$ /article.php?slug=$1&id=$2 [L]
Mais serait-il possible d'écrire quelque chose comme ça :
https://monsite.fr/article/categorie/so ... ie/slug-id

Où chaque article à sa propre catégorie et sous-catégorie.
Faut-il créer des dossiers ou créer une variable dossier dans le htaccess ou cela est simplement impossible ?

Merci par avance,

Bonne journée.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9435 Messages

11 août 2022, 21:49

En réalité, si tu n'as besoin que de l'ID pour retrouver et afficher ton article, pas besoin de t'embêter à passer en paramètre tes catégories, sous-catégories et slug...

Tu as juste à construire tes liens comme tu veux, et dans le htaccess tu mets une regex pour récupèrer uniquement l'id
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 2263 Messages

11 août 2022, 21:50

il n'y a déjà, à priori, pas de répertoire article, et cela fonctionne quand même.

Eléphanteau du PHP | 16 Messages

12 août 2022, 08:48

En réalité, si tu n'as besoin que de l'ID pour retrouver et afficher ton article, pas besoin de t'embêter à passer en paramètre tes catégories, sous-catégories et slug...

Tu as juste à construire tes liens comme tu veux, et dans le htaccess tu mets une regex pour récupèrer uniquement l'id
En effet, j'ai simplement besoin de l'id en réalité. Je pense que je vais rester sur /slug-id c'est bien comme ça.

Petite question supplémentaire, si je souhaite faire un fil d'Ariane sur ma page article et quand l'url j'ai que sulg-id, je mets quand même catégorie > sous catégorie > article en question ?

Sachant que sur monsite, la page : http://monsite.fr/?categorie=Environnement me renvoie les articles de la catégorie et http://monsite.fr/?sous-categorie=eau les articles avec la sous-catégorie.

Merci beaucoup pour votre réponse.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9435 Messages

12 août 2022, 10:02

En effet, j'ai simplement besoin de l'id en réalité. Je pense que je vais rester sur /slug-id c'est bien comme ça.
Ce n'était pas le sens de ma réponse en fait. :D
Ce que je disais c'est que si tu n'as techniquement besoin que de l'id, tu peux simplifier ta regex juste pour récupérer l'ID et la passer en paramètre à ton script PHP, mais tu peux tout à fait mettre en place des url /categories/sous-cat/slug-id
Petite question supplémentaire, si je souhaite faire un fil d'Ariane sur ma page article et quand l'url j'ai que sulg-id, je mets quand même catégorie > sous catégorie > article en question ?
Oui, ça sera mieux pour le SEO car ça te fait du maillage interne
Quand tout le reste a échoué, lisez le mode d'emploi...