Все что нужно знать о файле .htaccess

Файл .htaccess, его еще называют «аштиаксесс» – это служебный файл, который позволяет изменять конфигурацию и настройки веб-сервера Apache (одного из самых популярных серверов).

 

Замечание: Не рекомендуется изменять этот файл, если вы не уверены в том, что делаете. Если же вы все-таки решились – обязательно делайте бэкап этого файла.

Наиболее часто используемые возможности файла .htaccess:

  • запретить доступ к файлам определенного формата;
  • запретить доступ к сайту в определенный промежуток времени;
  • запретить/открыть доступ с определенных IP-адресов;
  • использовать свои собственные страницы ошибок (напр., 404);
  • настройка кэширования сайта;
  • ограничить доступ по логину/паролю к какому-то каталогу;
  • перенаправления пользователя на другую страницу (Redirect – редиректы);
  • скрыть реальную структуру папок сайта (пути в адресной строке браузера);
  • смена кодировки страниц сайта;
  • сменить домен сайта;
  • управлять поисковыми роботами на сайте;
  • и другие.

 

Создать файл htaccess просто: необходимо лишь в блокноте, или другом текстовом редакторе, написать нужный код, сохранить файл под расширением .htaccess (без названия, только точка и расширение htaccess). Затем загрузить на сервер в нужную папку.

Он может располагаться в любой папке на сервере, тогда его директивы будут действовать на все файлы в текущей папке и во всех ее подкаталогах (если нижележащими .htaccess эти директивы не переопределены).

Примеры использования .htaccess

 

Удалить WWW из URL

RewriteEngine On RewriteCond %{HTTP_HOST} !^nazvaniye-saita.com$ [NC] RewriteRule ^(.*)$ http://nazvaniye-saita.com/$1 [L,R=301] 

Определить кодировку UTF-8

 
AddDefaultCharset UTF-8

Сформировать перенаправление (Redirect) со старого домена на новый

Эта методика более известна как 301-редирект (перенаправление на постоянной основе). С ее помощью можно перенаправить как отдельные страницы, так и целый сайт. Чтобы перенаправить одну страницу, используйте код:

Redirect 301 /starayastranitsa.html http://www.vashnoviysite.com/novayastranitsa.html

А для целого сайта:

Redirect 301 / http://vashnoviysite.com/

 

Улучшить скорость сайта с помощью кэширования

Чем быстрее загружается страница, тем выше ваш сайт будет ранжироваться в результатах поиска. Одним из вариантов может служить включение кэширования на стороне пользователя. В примере ниже показано, как установить кэширование файлов перечисленных типов на 24 часа (86400 секунд).

<FilesMatch ".(jpg|jpeg|png|ico|swf|js|css|pdf)$"> 	Header set Cache-Control "max-age=86400" </FilesMatch>

Если вы не хотите, чтобы определенные файлы кэшировались, вы можете легко контролировать это, добавив определенный код в файле .htaccess. Вот как отключить кэширование для конкретных типов файлов:

<FilesMatch ".(php|cgi|spl)$"> Header unset Cache-Control </FilesMatch>

 

Если нужно установить особое время кэширования для определенных типов файлов, используйте следующую директиву аштиаксесса:

ExpiresActive On ExpiresByType image/jpg "access plus 86400 seconds" ExpiresByType image/jpeg "access plus 86400 seconds" ExpiresByType image/png "access plus 86400 seconds"

 

Страницы ошибок

Ваши посетители не должны видеть пустую страницу, когда они переходят по неверной ссылке. Вместо этого можно создать красиво оформленную и информативную страницу ошибки. А в файле .htaccess указать ее.

ErrorDocument 403 /errors/zaprescheno.html ErrorDocument 404 /errors/nenaydeno.html ErrorDocument 500 /errors/oshibkaservera.html

 

Запрещаем хотлинкинг изображений

Часто бывает, что кто-то ворует ваши картинки без вашего разрешения и ставит у себя на сайте. Но размещает ее не у себя на сервере, а прописывает путь к вашей – в итоге страдает ваш сервер. Это и называется хотлинкинг изображений. Чтобы предотвратить это, добавьте следующий код в ваш .htaccess.

RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?vashsait.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ - [F,NC,L]

 

Включаем Gzip-сжатие

Сжатие HTML и CSS файлов является довольно популярным в настоящее время, поскольку оно обеспечивает более быструю загрузки страницы. Чтобы включить Gzip-сжатие, добавьте этот код в файл .htaccess на вашем хостинге.

<ifModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file .(html?|txt|css|js|php)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </ifModule>

 

Запрет на просмотр каталога без index-файлов

 
Options -Indexes

Блокируем доступ к вашему сайту по IP

Если вы хотите заблокировать некоторых пользователей (если вы знаете их IP, и у них он постоянный), то вы можете легко сделать это с помощью следующего кода в файле аштиаксесс:

order allow,deny deny from 123.456.78.9 allow from all

 

 

И в заключение сегодняшней статьи хотим представить вам онлайн-генератор файла .htaccess, который находится по адресу http://www.htaccessredirect.net/.