htaccess réécrire passer deux variables ou une si les deux sont disponibles?

Je veux passer le premier répertoire en tant que variable et sous-répertoire en tant qu’autre variable.

Cela fonctionne quand pour les URL avec les deux répertoires (/ quelquechose / quelque chose2) mais j’obtiens une erreur 404 quand j’essaie avec un seul (/ quelque chose).

RewriteRule ([^/]+)/([^/]+) /posts/?category2=$1&category2=$2 [L,QSA] 

Comment puis-je ne passer que la catégorie 1 lorsque la catégorie 2 n’est pas disponible?

Peu de solutions:

Règles multiples (plus facile à comprendre mais un peu plus lent):

 RewriteRule ^([^/]+) /posts/?category2=$1 [L,QSA] RewriteRule ^([^/]+)/([^/]+) /posts/?category2=$1&category2=$2 [L,QSA] 

Règle unique:

 RewriteRule ^([^/]+)(/([^/]+))? /posts/?category2=$1&category2=$3 [L,QSA] 

Ici, la deuxième partie de l’URL (/ quelquechose2) est facultative. Veuillez noter que 2 $ ont été changés à 3 $.

Peut-être essayer celui-ci:

 RewriteRule ([^/]+)(/([^/]+))? /posts/?category2=$1&category2=$3 [L,QSA]