Все,
Я наткнулся на интересную маленькую особенность в одном из моих RewriteRules, которую я хотел решить с помощью именованных обратных ссылок. Однако из того, что я вижу, это невозможно в Apache mod_rewrite.
У меня есть два входящих URL-адреса, каждый из которых содержит ключевую переменную, которую необходимо переписать в одно и то же базовое действие фреймворка.
Входящие URL:
/users/list/page-2
/users/list/2
Желаемая конечная точка перезаписи
/?module=users&action=list&pagenum=2
хотелось бы сделать что-то подобное
RewriteRule ^/(?P‹модуль›([\w]+))/(?P‹действие›([\w]+))/(страница-)?(?P‹pagenum›([\d]+ ))$ /?module=${module}&action=${action}&pagenum=${pagenum} [L,QSA]
Однако Apache вообще не хочет так играть и выдает мне нулевые значения в местах именованных обратных ссылок. Чтобы обойти проблему, я использовал числовые ссылки на захваченные группы ($1, $2, $4) (но я почти на полпути к лимиту Apache N=9). Так что это не шоу стопор для меня.
Я просто хотел бы знать, доступны ли именованные обратные ссылки в mod_rewrite Apache, и если да, то почему мой шаблон RewriteRule не соответствует?
Спасибо, Ян