Правильный htaccess для joomlы
Много приключений и новостей в последнее время связанных с индексацией и в частности с нежелательной индексацией определенных разделов сайта.
Регулировка индексации осуществляется замечательным файликом htaccess.
Поэтому сегодня речь в посте будет о правильном htaccess для сайта. И раз я приоритетно занимаюсь системой управления сайтами Joomla, то будет пример правильного htaccess для джумлы. Этот пример позволит создать свой файл htaccess для защиты разделов своего сайта от посягательств настырных поисковых систем.
Подобный хорошо настроенный htaccess будет как сваи винтовые - надежной опорой и защитой для вашего сайта.
Итак, откуда же брать этот файл?!
.htaccess после установки есть в корневом каталоге джумлы, но по умолчанию он имеет текстовое расширение - htaccess .txt
Для включения его в работу нужно переименовать htaccess .txt в .htaccess – обратите внимание, что точка вначале должна быть обязательна! Саму процедуру переименовывания можно выполнить любым клиентом ftp. Я рекомендую пользоваться Filezill’ой – удобным и бесплатным FTP клиентом.
Дальше для владельцев джумлы наступают славные времена, поскольку в стандартном варианте htaccess уже прописаны необходимые правила, по запрету доступа поисковым роботам в служебные каталоги джумлы и блокировке популярных эксплоитов.
Так же открыв htaccess на редактирование, вы увидите, что все правила снабжены комментариями, которые начинаются со знака #
Первое и основное правило включающее использование htaccess это –
RewriteEngine On
Далее идут правила блокирующие известные эксплоиты (программы использующие уязвимости в движке):
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
Помимо этих вкусностей в htaccess еще очень много вещей, вроде переадресации с www на просто имя сайта и наоборот. Блокировку доступа в любой раздел сайта и т.д.
Рабочие примеры можно посмотреть в этой мой статье посвященной htaccess и 301му редиректу - htaccess и спасение 301

