- Главная
- Блог
- Защита и безопасность
- Настройка htaccess
Настройка htaccess
Я всем рекомендую включать этот файл.
Во-первых, это улучшает безопасность системы в целом.
Во-вторых, улучшается вид URL адресов, что важно при поисковом продвижении
И в-третьих, это даёт много возможностей, которые мы сейчас рассмотрим.
Главный файл htaccess находится в корневой папке сайта. Но его можно размещать и в отдельных папках для более гибкой настройки работы вашего сервера.
Начнём с самых простых директив.
Указание принудительной кодировки сайта через htaccess.
Это актуально для многих CMS, в том числе и для Joomla.
Для указания кодировки достаточно добавить такую строчку в самом начале файла:
AddDefaultCharset utf-8
Склейка домена при помощи htaccess.
Эту операцию нужно выполнять сразу после переноса на хостинг.
Называется эта директива: 301 редирект - "перемещён навсегда".
Это поможет сайту правильно работать и определит главное зеркало для поисковой системы.
Чтобы ваш сайт был доступен только с www в htaccess указываем такие строки (после RewriteEngine On), пример на этом сайте:
RewriteCond %{HTTP_HOST} ^joomlatown\.net$ [NC]
RewriteRule ^(.*)$ http://www.joomlatown.net/$1 [R=301,L]
Если хотите наоборот, чтобы ваш сайт был доступен только БЕЗ www, значит пишем так:
RewriteCond %{HTTP_HOST} ^www.joomlatown\.net$ [NC]
RewriteRule ^(.*)$ http://joomlatown.net/$1 [R=301,L]
Вместо joomlatown.net подставьте свой домен.
Перенаправление при помощи htaccess.
По сути это тот же самый редирект 301.
Но в этом случае мы перенаправляем со старых страниц на новые, либо с ненужных на нужные.
Для этого указываем строчку:
Redirect 301 /старый_URL http://новый_URL
Обратите внимание, что старый URL имеет относительный вид, а новый URL (куда будет перенапрвлен пользователь) имеет абсолютный вид с http, и между двумя URL'ами стоит пробел.
Запрет доступа к сайту.
Это нужная опция, позволяет защитить ваш сайт от нежелательных посетителей имеющих определённый IP-адрес, либо закрыть сайт совсем, оставив доступ только для нужных IP.
Если вы хотите полностью запретить доступ к сайт, то в самом начале пишем так:
Order Deny,Allow
Deny from all
Если хотите запретить доступ всем, кроме своего IP, то это будет выглядеть так:
Order Deny,Allow
Deny from all
Allow from 78.106.133.204
Определить свой IP можно по этой ссылке >>
Если хотите запретить доступ для определённых IP, то будут такие строки:
Order Deny,Allow
Deny from 62.173.147.224
Deny from 220.250.58.171
Буквально пару дней назад мне пришлось применить эту директиву.
Потому что к моему сайту было большое количество обращений с одного IP адреса, и это создавало нагрузку.
Из графика это хорошо видно.
Кеширование и GZIP сжатие файлов при помощи htaccess.
Мегаполезная вещь! После этого оценка Yslow сразу возрастает.
Для этого пишем такие строки:
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
SetOutputFilter DEFLATE
ExpiresActive on
ExpiresDefault "access plus 1 year"
Header set Cache-Control "private, must-revalidate"
Теперь немного объясню, что это обозначает.
Для начала указывается список файлов для работы (FilesMatch).
Затем включается механизм сжатия DEFLATE, он работает с указанными файлами.
После включается механизм кеширования, по умолчанию файлы кешируются на 1 год.
Далее включается контроль кеширования файлов, который говорит что хранить файлы нужно в кеше браузера и всегда проверять на наличие изменений.
Для того чтобы работала проверка обновлений включается механизм Etag, для этого нужно указать такую строчку:
FileETag MTime Size
Теперь, если будуте проверять при помощи Yslow не забудте почистить кеш вашего браузера.
Иначе изменений видно не будет.
Желаю всего хорошего!