Вот так новость. Тогда почему, как только они перевели работу сайта из-под пользователя apache, сайт стал работать правильно как по одному адресу, так и по другому?
Что ж, коль гора не идет Магомеду, пойдем навстречу. Предлагаю "костыльное" решение из двух шагов.
Шаг 1: перенаправлять на рабочий адрес всех, кто знает об URL-уязвимости хостинга и ломится через нее в админпанель.
В файл http://сайт/admin/.htaccess добавим rewrite-правило внутреннего редиректа со страницы вида http://сайт/admin/index.php[?опциональные-get-параметры] на страницу вида http://сайт/admin[?опциональные-get-параметры]
AuthName "Impera CMS admin panel"
AuthType Basic
AuthUserFile /****/*****/******/*******
require valid-user
RewriteEngine on
RewriteRule ^index\.php$ /admin [R=301,NC,QSA]
Шаг 2: динамически исправить все ссылки на странице.
В конец макета страницы админпанели (файл http://сайт/admin/design/default/html/admin_page.htm), прямо перед закрывающим тегом </body> встраиваем скрипт удаления подстроки /index.php из опций href и action всех тегов <a> и <form> на текущей странице.
<script language="JavaScript" type="text/javascript">
// удаляем /index.php из тегов a
jQuery('a[href]').each(function () {
this.href = this.href.replace(/^(http:\/\/[a-z0-9\._\-]+\/admin)\/index\.php/i, '$1');
});
// удаляем /index.php из тегов form
jQuery('form[action]').each(function () {
this.action = this.action.replace(/^(http:\/\/[a-z0-9\._\-]+\/admin)\/index\.php/i, '$1');
});
</script>
Вообще говоря, это рискованное решение, так как не гарантирует 100% защиты.