Rewriterules infernaux

Ce topic a été résolu
Cyberium

Cyberium Le 28 avril 2016 à 04:27 (Édité le 25 janvier 2019 à 17:50)

Ca n'est pas du PHP mais je ne savais pas où poster ça..

SOUCI 1
---------------------------------------
Je fais des rewriterules pour améliorer le référencement mais aussi pour le côté esthétique (et apprendre de nouvelles choses). Le souci est que plusieurs règles s'appliquent pour la même url donc ça peut être gênant, du genre ça affiche pas la page que l'on souhaite.

Je vous mets mon .htaccess (la partie concernée):

RewriteRule ^forum/nouveau-sujet/([0-9]+)$ nouveau_topic.php?categorie=$1
RewriteRule ^forum/(.*)/([0-9]+)$ topic.php?titre=$1&id=$2
RewriteRule ^forum/(.*)/(.*)$ forum_topics.php?categorie=$1&souscategorie=$2
Comme vous le voyez, la première règle et la troisième peut s'appliquer pour une url du genre: http://monsite.com/nouveau-sujet/10
Je pense qu'il faudrait utiliser des flags ou des rewritecond mais je sais pas si ça sera concluant... Dans le meilleur des mondes, il faudrait faire comprendre à Apache d'appliquer la troisième règle si "nouveau-sujet" n'est pas présent dans l'url.

SOUCI 2
---------------------------------------

Par la même occasion, comment je peux ajouter un texte défini à côté d'une variable dans le pattern ?
Un exemple plus parlant, est-ce que c'est correct :

RewriteRule ^forum/(.*)/([0-9]+)/pages\-([0-9]+)$ topic.php?titre=$1&id=$2&page=$3
Pour avoir une url du genre: http://monsite.com/forum/le-titre-du-topic/12/page-5
J'aimerai essayer mais mon souci 1 m'empêche de tester en étant sur que les résultats seront pas erronés...

Merci pour le courageux qui m'aidera !
Cyberium

Cyberium Le 28 avril 2016 à 18:18

J'ai réussi en modifiant l'ordre des RewriteRules... Pour le souci 2 je confirme ça marche (logique).
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte