Apache Rewrite Вопрос: похожие шаблоны URL - PullRequest
0 голосов
/ 20 марта 2011

Я пытаюсь привести в порядок URL на моем сайте. Я написал следующие правила. Для

index.php?id=work&pid=work-item 
RewriteRule (.*)/(.*)/$ /index.php?id=$1&pid=$2 [L]

Что работает и выглядит так:

 /work/work-item/

Тогда для:

index.php?id=work&tag=1
RewriteRule (.*)/(.*)/$ /index.php?id=$1&tag=$2 [L]

Что также работает, но нарушает первое правило. У кого-нибудь есть идеи для решения.

Спасибо

Джо

1 Ответ

1 голос
/ 20 марта 2011

Да, вам нужно добавить RewriteCond, чтобы сделать правило перезаписи условным и не применяться ко всему, что соответствует вашему регулярному выражению.

RewriteCond %{QUERY_STRING} ^pid=...$
RewriteRule (.*)/(.*)/$ /index.php?id=$1&pid=$2 [L]

и

RewriteCond %{QUERY_STRING} ^tag=...$
RewriteRule (.*)/(.*)/$ /index.php?id=$1&tag=$2 [L]
...