Все что нужно знать о файле .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/.
Angry Birds
Важно знать, что злоупотребление использованием данного файла конфигурации может негативно сказаться на производительности вашего сайта. Поэтому использовать возможности .htaccess для организации чего-либо разумно, только если другого способа реализовать стоящую перед вами задачу нет. Перед внесением изменений в оригинальный файл .htacces следует делать его резервную копию.
ZAnatoly
Вы полностью правы, это очень важное замечание!