Столкнулся с тем, что часть файлов/запросов «проскакивают» мимо правила.
Выясняя, какие именно, обнаружил, что от остальных они отличаются большой длиной url.
Пример:
http://l-stat.livejournal.com/js/??jquery/jquery.lj.inlineCalendar.js,jquery/jquery.lj.calendar.js,jquery/jquery.mask.js,share.js,controlstrip.js,jquery/jquery.calendarEvents.js,jquery/jquery.lj.modal.js,jquery/jquery.lj.repostbutton.js,s2.js,jquery/jquery.lj.confirmbubble.js,fb-select-image.js,lj.postmessage.js,quickreply.js,thread_expander.js,thread_expander.ex.js,commentmanage.js,ie9pinned.js,jquery/jquery.vkloader.js,lj.api.js?v=1345142931
Ещё пример:
http://l-stat.livejournal.com/js/??inputcomplete.js,jquery/jquery.ui.position.min.js,jquery/jquery.ui.autocomplete.min.js,jquery/jquery.bgiframe.js,gears_init.js,scanner.js,photobucket_jw.js,widget_ippu/selecttags.js,entry.js,poll.js,horizon.js,ie9pinned.js,jquery/jquery.vkloader.js,lj.api.js?v=1345142931
Поместив их в «Тренажёр» и применяя правило, получаю:
Mark:
RegEx error - PCRE_ERROR_MATCHLIMIT
Похоже, дело в слишком большой длине url.
Каковы именно ограничения у регэкспов правил? Можно ли с этим что-то сделать?
Если это важно, правило это — моё, из списка «Преобразование URL».
True#~#((.+)\.)*([-a-z0-9]+)\.([a-z]+)/#~#\4/\3.\4/\1\3.\4/#~#True#~#True#~#
Я им файлы в кэше по доменам/поддоменам раскладываю. То есть, к примеру, файлы из i165.photobucket.com/итд лежат в кэше по com/photobucket.com/i165.photobucket.com/итд.