Когда смотрю на примеры переадресации в .htaccess, что у Apache, что у прочего народа — возникает ощущение, что все они не имеют никакого понятия об относительности путей в дереве каталогов, хотя вся идеология *nix вроде как из этого исходит. В большинстве случаев предполагается, что структура сайта прибита гвоздями к файловой структуре сервера.
В списке переменных, доступных для анализа, напрочь отсутствуют категории "путь к текущему каталогу" и "имя файла или часть пути относительно текущего каталога". В той же директиве <if> невозможно проверить, существует ли запрашиваемый файл в другом каталоге. Для выделения пути и имени файла приходится городить пачки RewriteCond с регулярными выражениями, и выглядит это по-уродски.
Есть какое-то объяснение тому, что Apache регулярно добавляет новые сложные конструкции, но упорно не желает делать подобные простые средства, сильно упрощающие жизнь?