Имеется максимально длинный запрос:
www.site.com/admin/catalog/computers/page3/search/[base64_encode_serialized_array]/filter_by_photo/sorted_by_id/
Модификации запроса могут быть разными:
www.site.com/admin/catalog/computers/page3/filter_...www.site.com/admin/catalog/computers/page3/sorted_...
и т.д.
Эти все URL обрабатываются у меня сейчас одним правилом:
RewriteBase /
RewriteRule ^/?admin/catalog/([a-zA-Z]+)/(page([0-9]+)/?)?(search/([a-zA-Z0-9]+)/?)?(filter_by_([a-zA-Z]+)/?)?(sorted_by_([a-zA-Z_]+)/?)?/?$ ./index.php?base=Catalog&dbname=$1&p=$3&search=$5&filter_by=$7&sort_by=$9 [L]
Но вот чувствую что можно его оптимизировать, и хотелось бы вынести обработку запчастей отдельно, но не могу найти каким образом правильно это сделать, т.е. нечто такого что-ли:
RewriteBase /
RewriteRule ^/?admin/catalog/([a-zA-Z]+)/?$ ./index.php?base=Catalog&dbname=$1 [C]
RewriteRule ^/?page([0-9]+)/? &p=$1 [C]
RewriteRule ^/?search/([a-zA-Z0-9]+)/? &search=$1 [C]
RewriteRule ^/?filter_by_([a-zA-Z0-9]+)/? &filter_by=$1 [C]
RewriteRule ^/?sorted_by_([a-zA-Z0-9]+)/? &sort_by=$1 [L]
Т.е. по алгоритму должно получится нечто типа как поиск подходящего начала, а дальше на него навешиваем дополнения. Возможно ли такое? И если да, то как?