Как захватить «подраздел» URL в правиле перезаписи? - PullRequest
0 голосов
/ 11 мая 2010

Я знаю, что заголовок немного странный, но вот как выглядят URL:

/user/xxx/page
/user/xxx/page?error=yyy

Правило для первого URL выглядит примерно так:

RewriteRule ^user/(\d+)/page$    something.pl?id=$1 [L]

И чтобы он работал со вторым URL, он становится:

RewriteRule ^user/(\d+)/page(error=\d+)?$    something.pl?id=$1 [L]

Мой вопрос ... как мне зафиксировать номер ошибки? Я попробовал оба из них:

RewriteRule ^user/(\d+)/page(error=(\d+))?$    something.pl?id=$1&error=$2 [L]
RewriteRule ^user/(\d+)/page(error=(\d+))?$    something.pl?id=$1&error=$3 [L]

Но это не работает ...

Как я могу это сделать?

1 Ответ

2 голосов
/ 22 мая 2010

Вы можете просто использовать флаг QSA для добавления исходного запроса к новому:

RewriteRule ^user/(\d+)/page$    something.pl?id=$1 [L,QSA]

Теперь запрос /user/xxx/page?error=yyy будет переписан на /something.pl?id=xxx&error=yyy.

...