Все що потрібно знати про файл .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/.
Останні пости
Як вибрати ідеальний ноутбук: Повний гайд
Вибір ноутбука може бути складним завданням у світі, де ринок переповнений варіантами на будь-який смак… Читати далі
Томас Едісон
Наш великий недолік в тому, що ми занадто швидко опускаємо руки. Найбільш діючий метод досягти… Читати далі
Найкрасивіші та найбільш вражаючі мости з усього світу (ТОП-10)
Міст — це щось більше, ніж просто споруда, яка поєднує два береги. Для того, щоб… Читати далі
Соломон
Життя нас вчить, що свою пару ми пізнаємо, коли розлучаємося, своїх братів ми пізнаємо, коли… Читати далі
Річард Бах
Жодне бажання не дається тобі окремо від сили, що дозволяє його здійснити. Хоча, можливо, для… Читати далі