Все що потрібно знати про файл .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/.

 

Recent Posts

Як змінити HTML код вбудованих елементів WP oEmbed в WordPress?

Починаючи з WordPress версії 2.9 в двигун була додана підтримка oEmbed – формат простого API,… Read More

16/01/2021

Багатофункціональний пристрій коверлок: ключові особливості

Існує багато різновидів швейного обладнання, які відкривають великі можливості для вдосконалення навичок. Один з найскладніших… Read More

15/01/2021

Як зробити відкладене завантаження для HTML, iframe і вбудованого відео

Ліниве (або відкладене) завантаження (Lazy loading) – це популярний метод асинхронного звернення до адреси ресурсу,… Read More

13/01/2021

Google Search Console – Проблема з CLS та як її вирішити

Ми раніше писали про нововведення в інструменті для вебмайстрів Google Search Console – Основних веб-показниках.… Read More

11/01/2021

Найкращі водоспади світу (частина 3/3)

Водоспад – є одним з найбільш хвилюючих і найкрасивіших творінь матінки-природи у нашому світі. По… Read More

08/01/2021

Що таке Основні веб-показники в Google Search Console?

В кінці травня минулого року, а точніше 28 травня 2020 року, Google почав більш активно… Read More

07/01/2021