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