Файл htaccess – що це, де він знаходиться і навіщо потрібен

Поширити

Доброго часу доби, дорогі читачі!

Сьогодні я розповім про файл htaccess, який виконує дуже важливу роль на сайті. Саме через цей конфіг ви будете налаштовувати різні редиректи, прописувати використовуваний протокол та виконувати інші важливі завдання. Без нього нормальний ресурс просто не буде працювати належним чином.

У матеріалі ми поговоримо про це трохи детальніше. Також я розповім про те, як створити і налаштувати цей конфіг. Давайте починати!

Зміст

  • Що таке htaccess
  • Де розташований htaccess
  • Створюємо htaccess на комп’ютері
  • Приклади команд
    • Переадресація
    • Mod_rewrite – настроювання складних редиректів
  • Висновок

Що таке htaccess

Цей файл дуже важливий для будь-якого сайту, тому що саме з його допомогою відтворюється налаштування дуже важливих параметрів. Для статейних ресурсів цей конфіг теж має дуже велике значення, тому що тут є певні функції, які допомагають коригувати роботу ресурсу.

Якщо ви будете оптимізувати свій ресурс під пошукові системи, то ретельна настройка htaccess стане невід’ємною частиною даного процесу. Саме з допомогою цього файлу ви зможете настроювати конфігурацію сервера, на якому розташований ваш сайт. Робиться це за допомогою спеціальних команд, які вносяться безпосередньо в конфіг.

Htaccess – це звичайний конфігураційний файл, де містяться налаштування певного типу. Зазвичай там розміщують інформацію про редиректах (наприклад, переадресацію на захищений протокол https), параметри сервера і компонентів, які на ньому встановлені і т. д.

Також за допомогою нього ви зможете налаштувати доступ до файлів сайту, змінювати параметри перенаправлень на сторінку 404 (коли на ресурсі немає якогось документа, він повинен віддавати сторінку з помилкою 404, де буде вказана ця інформація), блокувати певні IP-адреси і т. д.

Найчастіше htaccess створюється автоматично. Наприклад, якщо ви встановите WordPress на віртуальний хостинг, то цей конфіг з’явиться сам собою, так як платформою передбачено використання параметрів, які занесені в базову версію цього файлу. Зазвичай там вказуються стандартні рекомендовані параметри хостингу для комфортної роботи CMS.

При бажанні ви можете змінити ці параметри, але якщо щось зробити не так, то ресурс може просто перестати працювати. Саме тому цей невеликий файлик повинен налаштовувати розуміюча людина. Він повинен чітко розуміти, за що відповідає кожен рядок конфігураційних команд.

В інших платформах і CMS htaccess теж дуже часто створюється автоматично. Саме з тими параметрами, які потрібні для комфортної роботи системи.

Якщо говорити конкретно про WordPress, то найчастіше пряма налаштування даного конфига не потрібно. Стандартний варіант підходить для більшості ресурсів. Іноді зміни в цей конфіг вносять різні плагіни або сам WordPress, якщо ви будете міняти налаштування. Сам же користувач зазвичай і не підозрює про те, що у нього є такий конфіг.

У деяких випадках цей файл не можна змінити. Зазвичай подібне зустрічається на дешевих малопотужних серверах, де власники намагаються витрясти зі своїх користувачів гроші навіть за можливість редагування htaccess. Сайт не буде адекватно працювати на такому хостингу, тому що в деяких випадках може знадобитися зміна конфига.

А якщо цього зробити не можна, то ви просто не зможете встановити якийсь плагін, редірект або прописати будь-який інший параметр. Найкраще знайти нормальний хороший хостинг за прийнятною ціною, щоб подібних проблем не виникало.

Підведемо підсумки, щоб вам було зрозуміліше. З допомогою htaccess ви зможете:

  1. Налаштувати перенаправлення (пересилання) на різні адреси вашого ресурсу. Користувач буде заходити по одному якому-то адресою, його буде переадресовувати на інший. Корисно, коли у документа (статті або сторінки) змінився URL, і ви не хочете, щоб користувачі отримували помилку 404 при зверненні на цю адресу.
  2. Налаштувати перенаправлення на інші домени. Це може знадобитися у разі, якщо ви хочете перенести свій ресурс на інший домен, але при цьому не хочете втрачати наявну аудиторію, яка спробує перейти на сайт за старим доменом. Через htaccess ви зможете налаштувати просту переадресацію, яка буде переводити користувачів на потрібний вам новий домен.
  3. Зробити переадресацію на домен з www або без нього. За замовчуванням багато проекти доступні за кількома варіантами одного домену. Наприклад, умовний site.ru можна відкрити як , так і . Це породжує зайві дублі і дуже негативно впливає на пошукове просування. З допомогою конфига ви зможете налаштувати переадресацію на основний варіант.
  4. Зробити редирект на https. Після встановлення SSL-сертифіката ваш ресурс буде доступний вже за чотирма різними варіантами адреси. До попереднього пункту додасться ще версія з https-протоколу. Htaccess допоможе вам зробити основний тільки одну версію. Тобто зробити редирект відразу ж на потрібний варіант адреси з потрібним протоколом.
  5. Налаштувати кешування файлів вашого ресурсу. Цей крок необхідний для прискорення роботи вашого проекту. За допомогою конфігураційного конфига ви зможете зробити кешування. Тоді вся інформація з сайту буде стискатися до оптимальних розмірів і подаватися користувачам у спрощеному вигляді. Їм не доведеться завжди заново навантажувати сервер та скачувати всі файли. Кешування дуже важливо для SEO, тому що воно допомагає прискорити ресурс. Також кешування допомагає знизити навантаження на хостинг.
  6. Зробити ЧПУ-посилання. Зазвичай всі файли ресурсу мають посилання, які не так-то просто запам’ятати. Це можуть бути якісь послідовності символів або щось інше. З допомогою htaccess ви зможете зробити зрозумілі людині варіанти посилань, які будуть складатися з слів латиницею. В WordPress для створення ЧПУ вам достатньо просто активувати потрібну опцію в налаштуваннях, в самописних ж сайтах доведеться робити це самостійно через цей самий файлик.
  7. Блокувати доступ з певних IP-адрес. Дуже часто на сайти нападають різного роду зловмисники, які спамят флудом, намагаються вивести цим хостинг проекту з ладу або просто активують велику кількість ботів, які відправляють різний рендомний текст в коментарі до записів або в форми збору заявок. Використовуючи певні команди, які будуть заноситися в цей конфіг, ви зможете блокувати IP-адреси спамерів, і вони більше не зможуть заходити на сайт. Також ви зможете налаштувати закритий ресурс, який буде доступний тільки певним IP-адресами. Тобто це такі своєрідні білі і чорні списки.
  8. Регулювати поведінку пошукових роботів на сайті. Зазвичай параметри для пошукових систем настроюються через robots.txt, але в htaccess ви також можете вказати декілька налаштувань, які допоможуть вам керувати поведінкою роботів пошукових систем.
  9. Налаштовувати доступ до певних файлів і папок. Ви можете встановлювати паролі на певні директорії і файли. Це допоможе вам встановити контроль відвідуваності і робити документи видимими тільки для обмеженої кількості людей. Подібні функції допомагають вам захистити свій проект від атак хакерів і підвищити рівень безпеки.
  10. Встановлювати більш тонкі налаштування сервера. За допомогою конфігурації ви зможете встановлювати настройки сервера. Наприклад, якщо сервер є якісь ліміти на завантаження конфігів, з допомогою htaccess ви зможете змінити їх. Також ви зможете міняти і інші параметри сервера, використовуючи для цього різні команди.

Загалом, у htaccess є й кілька інших можливостей. Наприклад, ви зможете налаштувати індексацію, змінити код сайту і т. д. По суті, це дуже важливий конфіг, який визначає роботу сервера. Але це не основний набір налаштувань. Є й інший файл, який містить в собі вже всі параметри сервера. Доступ до нього мають тільки адміністратори хостингу. Простий вебмастер не зможе отримати до нього доступ.

Але з допомогою htaccess він все ж зможе впливати на роботу сервера, використовуючи для цього прості команди. Тобто даний файл потрібен саме для вебмайстрів, які хочуть щось змінити на орендованому ними хостингу. Доступ до основних параметрів не потрібно, вебмастер не зможе поламати сам сервер і нашкодити кому-то ще в випадку, якщо він використовує віртуальний хостинг.

Всі параметри конфига мають певний вид: ключ і певне значення, яке і визначає налаштування для того сайту, де знаходиться цей конфіг. Зазвичай htaccess поміщається прямо в корінь ресурсу. Якщо перемістити його в якийсь каталог, то налаштування будуть діяти виключно на нього. Тобто параметри, які заносяться в цей конфігураційний документ, що діють на ті файли і папки, які розташовані з ним в одному місці.

Поміщаємо документ в корінь, і він діє на весь проект (всі папки і їх вміст), поміщаємо кудись всередину, і буде працювати тільки з папками і файлами, які розташовані з ним на одному рівні чи нижче.

Де розташований htaccess

Звичайне дефолтний розташування цього документа – корінь сайту. Якихось прикладів локального використання конфига тільки для певних папок всередині сайту я не бачив. Щоб виявити цей документ, вам достатньо зайти в файловий менеджер вашого хостингу або ж скористатися FTP-клієнтом.

Htaccess буде розташований прямо в корені (/public_html, якщо це віртуальний хостинг). Його можна буде відкрити за допомогою будь-якого текстового редактора.

Для редагування цього конфига, конкретно на хостингу Timeweb, ви повинні просто клікнути по ньому кілька разів. Він відкриється у вбудованому редакторі, вам залишиться просто змінити настройки, видалити або додати зайві рядки.

Також ви можете просто завантажити його і відкрити за допомогою будь-якого редактора на вашому комп’ютері.

Але якщо ви хочете змінити цей файл на WordPress, то вам зовсім не обов’язково заходити на хостинг і відкривати його там. Досить буде просто зайти в налаштування плагіна Yoast SEO, перейти у вкладку “Інструменти”. Вміст конфига буде доступно прямо там, в спеціальному вікні. Ви зможете легко його міняти, і всі зміни будуть автоматично заноситися в даний конфіг.

Такий варіант можна вважати виправданим, тому що ніяких зайвих турбот тут немає. Але варто помітити, що далеко не всі використовують плагін Yoast SEO. В інших SEO-плагінах також є схожі можливості.

Цей файл не завжди є на молодих проектах. Якщо ви зовсім недавно створили свій ресурс, то цілком можливо, що ви просто не знайдете цей документ на своєму хостингу. У такому випадку ви можете просто створити його самостійно. У цього конфига немає розширення, тільки назва .htaccess.

Його можна зробити за допомогою вбудованих інструментів (у тому файловому менеджері, наприклад) або ж створити конфіг на своєму комп’ютері і вже після завантажити на хостинг за допомогою інструментів або FTP-клієнта.

У деяких випадках цей документ не можна буде завантажити або створити прямо на хостингу. Це означає, що в цій конкретній компанії даний конфіг використовувати не можна. Ви можете переконатися в цьому, якщо напишете в технічну підтримку. Налаштування таких серверів міняти не можна, як правило, вони встановлюються на самий мінімум.

Можливо, в майбутньому у вас спливуть і інші проблеми, тому я рекомендую міняти хостинг, якщо він не дає вам можливість налаштувати додаткові параметри.

Створюємо htaccess на комп’ютері

Для створення такого документа ви можете використовувати будь-який текстовий редактор, який встановлений на вашому ПК. Можна скористатися навіть простим Блокнотом, який встановлений в якості стандартного софта на Windows.

Натисніть правою кнопкою миші на вільному місці робочого стола, після чого виберіть “Створити” – “Текстовий документ”. На робочому столі з’явиться файлик з назвою “Новий текстовий документ”. Відкрийте його, але нічого не вводьте.

Далі, просто наведіть курсор у лівий верхній кут, знайдіть там пункти меню “Файл” – “Зберегти як”. Відкриється вікно збереження, де необхідно вибрати папку для збереження (можна зберегти прямо на робочий стіл), ввести назву і вибрати тип файлу.

У полі “Ім’я файлу” вводимо “.htaccess”. У розкривному меню “Тип файлу” вибираємо “Всі файли”. Далі тиснемо на кнопку зберегти. Все, документ створений.

Зверніть увагу, що він не повинен мати розширення. Тобто не повинно бути, наприклад, “.htaccess.txt”.

Якщо все добре, ви можете завантажувати його на хостинг. Або ж залишити для занесення якихось параметрів.

Приклади команд

Тепер я розповім про найбільш популярних приклади використання команд у цього конфига. Вони можуть використовуватися як для HTML-сайту, так і для проекту на платформі. Кожна команда може зламати ваш проект, тому будьте максимально обережними при налаштуванні.

Переадресація

За допомогою переадресації ви зможете відправляти користувачів з однієї адреси на інший. Команда виглядає таким чином.

Redirect 301 /старый_адрес.html http://www.site.ru/новый_адрес.html

Ви можете змінювати значення, які виділені жирним. Наприклад, замість 301-го редіректу ви можете використовувати інший. Всього є 4 різних значення.

  1. 301 – документ переміщено назавжди.
  2. 302 – документ переміщено тимчасово.
  3. 303 – дивіться інші документи ресурсу.
  4. 410 – документ був остаточно знищений.

Mod_rewrite – настроювання складних редиректів

Це спеціальний модуль, який дозволяє налаштовувати переадресацію на якийсь конкретний протокол або домен певного виду (з www або без нього, наприклад). Даний модуль працює тільки на Apache, тому далеко не кожен хостинг буде це підтримувати.

  • Основне дзеркало.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]

RewriteRule ^( *)$ _/$1 [R=301,L]

Замість site.ru повинен бути ваш домен. Якщо ви введете це в конфігураційний документ, що ваш сайт буде перенаправляти користувачів www на звичайну версію ресурсу. Припустимо, людина спробує перейти на www.site.ru/stat1 його відразу ж перебере на site.ru/stat1. Ось так це працює.

  • Редірект на https.

Якщо ви встановили SSL-сертифікат і хочете, щоб всі сторінки проекту відкривалися через захищене з’єднання, вам необхідно просто прописати ці рядки.

RewriteEngine On

RewriteCond %(HTTPS) !on

RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URL)

Змінювати в цьому коді нічого не треба, все буде працювати саме в такому вигляді.

  • Редірект на інший домен.

Якщо ви вирішили змінити домен і хочете, щоб на ваш проект могли переходити за старою адресою, то ви можете просто налаштувати перенаправлення з допомогою цих рядків.

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.site.ru.ru$ [NC]

RewriteRule ^(.*)$ /$1 [R=301,L]

Ви можете змінити назву сайту, додавши або забравши певні варіанти. Наприклад, ви можете редірект відразу на сайт https. Також ви можете змінити домен на варіант без www.

  • Заборона індексування для певного пошукового робота.

З допомогою цих рядків ви можете заборонити пошуковому роботу індексувати ваш сайт. Просто пропишіть наступні рядки.

RewriteEngine on

RewriteCond %{USER_AGENT} Googlebot

RewriteRule .* — [F]

Замість Googlebot ви можете ввести назву будь-якого іншого пошукового робота. При зверненні до вашого домену пошуковий робот буде отримувати помилку. Проіндексувати сайт він ніяк не зможе.

Висновок

Як бачите, htaccess – це дуже важливий файл, який допомагає контролювати роботу сервера. Це не основний конфігураційний документ, але з його допомогою також можна настроювати деякі параметри обладнання. Також за допомогою цього документа ви зможете настроювати різні редиректи, без яких зараз не обійдеться жоден нормальний сайт.

Налаштування цього конфига – справа важлива й потребує певного розуміння. Якщо ви щось неправильно введете, то велика ймовірність, що ваш ресурс просто перестане відкриватися. Він буде просто видавати помилку, і для виправлення вам доведеться заходити на хостинг і скидати всі зміни цього документа.

Якщо ви вебмайстер, який цікавиться заробітком на інформаційних сайтах, то я раджу заглянути на курс для вебмайстрів від Василя Блінова. У цьому навчальному матеріалі ви зможете знайти докладні уроки про те, як створити свій власний проект під монетизацію, як оптимізувати під пошукові системи і організувати всю роботу свого сайту.

Залишити відповідь

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.