Все что нужно знать о файле .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/.

 

Tolyanich

View Comments

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

    • Вы полностью правы, это очень важное замечание!

Recent Posts

Эрих Мария Ремарк

Извинение — не означает, что ты не прав, а другой человек прав. Это всего лишь…

6 дней ago

Джим Керри

Тот, кто умеет улыбаться каждый день, умеет жить Джим Керри  

2 недели ago

Хань Сян-цзы

Помогая ленивым людям, ты помогаешь им сесть на свою шею Хань Сян-цзы  

2 недели ago

Как работает электронная книга

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

2 недели ago

Робин Шарма

Действуй так, словно неудача просто невозможна, а успех обеспечен Робин Шарма  

3 недели ago

Уроки SQL — как найти повторяющиеся записи (дубли) в базе данных

Во-первых, чтобы не допустить подобных ситуаций, вам заранее нужно присваивать уникальные значения в таблицах. Так…

4 недели ago