Все що потрібно знати про файл .htaccess
Файл .htaccess, його ще називають «аштіаксес» – це службовий файл, який дозволяє змінювати конфігурацію і налаштування веб-сервера Apache (одного з найпопулярніших серверів).
Найбільш часто використовувані можливості файлу .htaccess:
- заборонити доступ до файлів певного формату;
- заборонити доступ до сайту в певний проміжок часу;
- заборонити/відкрити доступ з певних IP-адрес;
- використовувати свої власні сторінки помилок (напр., 404)
- налаштування кешування сайту;
- обмежити доступ за логіном/паролем до певного каталогу;
- перенаправлення користувача на іншу сторінку (Redirect – редиректи);
- приховати реальну структуру папок сайту (шляху в адресному рядку браузера);
- зміна кодування сторінок сайту;
- змінити домен сайту;
- керувати пошуковими роботами на сайті;
- та інші.
Створити файл htaccess просто: необхідно лише в блокноті, або іншому текстовому редакторі, написати потрібний код, зберегти файл під розширенням .htaccess (без назви, тільки крапка і розширення htaccess). Потім завантажити на сервер в потрібну папку.
Він може розташовуватися в будь-якій папці на сервері, тоді його директиви будуть діяти на всі файли в поточній папці та у всіх її підкаталогах (якщо нижчележачими .htaccess ці директиви не перевизначені).
Приклади використання .htaccess
Видалити WWW з URL
RewriteEngine On RewriteCond %{HTTP_HOST} !^nazva-saitu.com$ [NC] RewriteRule ^(.*)$ http://nazva-saitu.com/$1 [L,R=301]
Визначити кодування UTF-8
AddDefaultCharset UTF-8
Сформувати перенаправлення (Redirect) зі старого домену на новий
Ця методика більш відома як 301-редирект (перенаправлення на постійній основі). З її допомогою можна перенаправити як окремі сторінки, так і цілий сайт. Щоб перенаправити одну сторінку, використовуйте код:
Redirect 301 /starastorinka.html http://www.vashnoviysite.com/novastorinka.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/zaboroneno.html ErrorDocument 404 /errors/neznaydeno.html ErrorDocument 500 /errors/pomilkaservera.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/.