Мне в наследство досталось 2 сайта живущих на одном хостинге - SWEB.
Такая ситуация --- в корне находится две папки с сайтами (два виртуальных хоста).
site 1 - Joomla
site 2 - Moodle
Структура каталогов:
Код: Выделить всё
/site1
| |
| public_html (корень site1)
|
site2
|
public_html (корень site2)
|
moodle_data (каталог с ресурсами moodle)
Так как боты назойливо стараются сканить сайты и создают титаническую нагрузку на скромной тарифе, решил заблокировать адреса ботов (всю сеть). Благо они западные, а к сайтам доступ оттуда вообще не нужен...
Так вот в корне сайта с Joomla настроил .htaccess файл:
Код: Выделить всё
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Order Allow,Deny
Allow from all
Deny from 46.229.
Разумеется запрет на сеть 46.229. работает и нагрузка для данного сайта упала судя по логам раз в 10.
Но для Site 2, коим является Moodle? это не работает. Дело в том, что у Moodle две директории moodle_data и public_html (корневая). Файл .htaccess должен храниться в public_html, скопировал его туда и ограничения не работают.
В интернетах фактическим решением предполагается что AllowOverride опция не включена и ее надо активировать, для всех опций - AllowOverride All.
После чего ERROR 500 и кстати бот так и продолжает из сети 46.229. ломится.
У себя на хостингах настройки по фильтрации IP обычно храню для каждого виртуального хоста. Тут же я что-то в тупик встал. Для основного сайта - site1 работает htaccess, для второго нет