Question

J'ai demandé ici avant mod_rewrite et a obtenu la réponse parfaite, mais maintenant je dois faire quelque chose de plus complexe et vraiment besoin les conseils de quelqu'un qui sait mod_rewrite beaucoup mieux.

Ma règle de réécriture ressemble à ceci jusqu'à présent:

RewriteRule ([a-zA-Z_-]+)/([0-9]?) index.php?cat=$1&page=$2

Et qui montre l'URL comme suit:. /categoryname et affiche les pages comme /categoryname/1/

Mais je voudrais vraiment modifier la règle de travailler avec les sous-catégories telles que /categoryname/subcategoryname/ et fonctionne toujours avec le système de page (subcat/2/) mais je ne peux pas sembler envelopper la tête autour de cela.

Il doit ignorer le sous chat récrire si vous êtes sur la principale catégorie etc.

En espérant que quelqu'un peut me aider.

Était-ce utile?

La solution

RewriteRule [a-zA-Z_-]+/([a-zA-Z_-]+)/([0-9]?) index.php?cat=$1&page=$2 [L]
RewriteRule ([a-zA-Z_-]+)/([0-9]?) index.php?cat=$1&page=$2 [L]

Autres conseils

J'utiliser ces règles:

RewriteRule ^([a-zA-Z_-]+)/([a-zA-Z_-]+)/(([1-9][0-9]*)/)?$ index.php?cat=$1&subcat=$2page=$4
RewriteRule ^([a-zA-Z_-]+)/(([1-9][0-9]*)/)?$ index.php?cat=$1&page=$3

Avec l'affirmation pour le début (^) et la fin de la chaîne ($) il n'y a pas d'ambiguïté d'avoir une de ces règles d'application accidentelle. Et la partie est (([1-9][0-9]*)/)? pour la pagination en option.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top