htaccess переписать передать две переменные или одну в зависимости, если обе доступны? - PullRequest
3 голосов
/ 26 марта 2012

Я хочу передать первый каталог как переменную и подкаталог как другую переменную.

Это работает, когда для URL-адресов с обоими каталогами (/ что-то / что-то2), но я получаю ошибку 404, когда я пытаюсь только с одним (/something).

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

Как я могу пройти только категорию 1, когда категория 2 недоступна?

Ответы [ 2 ]

2 голосов
/ 26 марта 2012

Несколько решений:

Несколько правил (легче понять, но немного медленнее):

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

Единственное правило:

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

Здесь вторая частьURL (/ что-то2) не является обязательным.Обратите внимание - 2 доллара были изменены на 3 доллара.

0 голосов
/ 26 марта 2012

Может быть попробовать это:

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