Настройка 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 адреса, и это создавало нагрузку.
Из графика это хорошо видно.

запрет доступа по IP при помощи htaccess

 

Кеширование и 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 не забудте почистить кеш вашего браузера.
Иначе изменений видно не будет.

Желаю всего хорошего!