Интересно, через сколько свой сайт починит..
А если такая фигня случится под "white-label брэндом" реселлера..
Если там действительно цифры, то ко всем pics-ам добавить регулярку, чтоб получилось так:
pics(\d+)
location .... {if ($args ~ "id=(\d+)") {...}}
По всей видимости о доле сомнений в надлежащем качестве услуг "WhiteLabel" от "ноунейм компании"...
Некоторое время назад популярным было делать подобные ("мультиюзеровые" и "кастомные") вещи на Drupal.. с последующим переездом (в случае, если взлетало) на фреймворк (к примеру .. ссылка на англоязычный оригинал не открывается.. или тынц)
Сейчас проще начинать с фреймворка выбора исполнителя...
Развели на ровном месте.. ))
Написать виджет.. которому в параметрах задаётся сопоставление (many-many) "сопутствующих" рубрик для каждой рубрики.. (можно сделать как двунаправленное, так и однонаправленное.. т.е. в первом варианте, если для A выводится B, то автоматом и для B выводится A; во втором - более гибко, но может потребовать "больше движений")
Для незаполненной рубрики можно выводить 10 первых, произвольных, определённых.. и тд.
Только безопасностью..
Много раз отмечал, что безопасность - понятие комплексное и не ограничивается одним только шифрованием паролей, обновлением CMS / плагинов до "самой последней-препоследней" версии или использованием покупного шаблона (aka тема для Wordpress - special 4 SeVlad).
Можно средствами Web-сервера установить такие ограничения, что не так уж и важно будет, какая из версий wp (любого другого популярного движка) используется.. (на всякий случай держим в уме базовые требования политики паролей в т.ч. и для FTP/DB/CP - ибо брутфорс в графике выше на втором месте после плагинов)
в wp-config где-нибудь в коде добавить
ob_start();
Возможно, блок с меню просто из кэша берётся.
Т.е.
1) в корне получается 100500 файлов?
2) они все статика
3) другой статики в корне нет?
4) в корне есть index.php, который "умеет" выкачивать?
В корне для всех нужных URL-ов (как их определять, исходя из условий выше.. примерно так.. при необходимости скорректировать для тех адресов, которые должны "проходить" без реврайта ) делаем реврайт на подпапку
RewriteRule ^(.*)\.(jpe?g|gif|png)$ site/$0 [L]
В подпапке добавляем .htaccess, в котором для отсутствующих файлов дёргаем скачивалку (пожалуй, лучше не из корня, а уже из папки)
p.s. Доработать напильником.. =)