Файл .htaccess: як влаштований і для чого можна використовувати?

Файл .htaccess: як влаштований і для чого можна використовувати?

11.11.2020
200
8 хв.
Оренда серверів DELTAHOST Блог Корисне про хостинг Файл .htaccess: як влаштований і для чого можна використовувати?

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

Файл .htaccess: що це?

Файл .htaccess

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

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

Можливості застосування .htaccess прописані в головному файлі конфігурації httpd.conf, при цьому настройки .htaccess наділені вищою пріоритетністю в порівнянні з настройками httpd.conf.

Директива AllowOverride передбачає відкриття доступу до всіх або деяких дій. Також завдяки їй під час кожної відсилання до сервера, Apache займеться переглядом каталогів на предмет наявності .htaccess. При цьому зміни набудуть актуальності відразу після того, як буде збережено файл .htaccess (тобто немає необхідності перевантажувати сам web-сервер).

Примітно, що, стандартна назва файлу .htaccess, не є обов’язковим, тобто можна при бажанні встановити інше ім’я файлу.

Де розташований файл .htaccess і як перевірити його працездатність?

Розташування .htaccess

Як правило, файл .htaccess розташований в кореневому каталозі сайту. Однак для деяких CMS характерний файл htaccess.txt, що не сприймається і не впливає на сервер. Для активації роботи даний компонент досить перейменувати в стандартний .htaccess. При виникненні проблем з подібними маніпуляціями слід перейти на веб-сервер за допомогою FTP-клієнта і перейменувати файл безпосередньо на сервері.

Щоб відредагувати .htaccess, необхідно скористатися будь-яким стандартним текстовим редактором, наприклад, Notepad++. Для перевірки працездатності виконати наступний алгоритм дій:

  1. Ввести в перший рядок файла .htaccess будь-яке слово, яке не має нічого спільного з кодом програмування.
  2. Зберегти зміни.
  3. Замінити файл, який знаходиться на сервері, на змінений.

Після застосування даної послідовності маніпуляцій можливі кілька варіантів:

  • продовження роботи веб-ресурсу — це свідчить про те, що .htaccess не працює;
  • відображення помилки 500 Internal Server Error — даний текст означає, що сервер не вдалося ідентифікувати команду, через що з’явилася помилка.

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

Варіанти застосування .htaccess

Способи використання .htaccess

Файл .htaccess може виконувати ряд корисних функцій.

Налаштування редиректів

Застосування файлу .htaccess для налаштування 301 redirect, вважається найбільш поширеним застосуванням. Зверніть увагу на кілька основних принципів:

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

У випадку з функцією редиректу можливі такі варіанти:

  • посторінковий;
  • на сторінку зі слешем або без нього;
  • для налаштування головного екрану;
  • на інший домен.

Посторінкова переадресація буде актуальна в ситуації, коли:

  • на веб-сайті внесли структурні зміни, що вплинули на рівень вкладеності сторінок;
  • сторінка була вилучена;
  • відбулася зміна URL-адреси.

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

Налаштування редиректу на сторінку зі слешем або без нього потрібна, щоб не дезорієнтувати пошукові системи. За замовчуванням роботи розпізнають https://deltahost.ua/blog і https://deltahost.ua/blog/ як дві різні сторінки, чого не можна допустити. Саме переадресація допомагає в даному випадку.

В ситуації з налаштуванням головного екрану потрібно визначитися, яку адресу буде фігурувати в якості основного під час пошуку. Можливі такі варіанти переадресації:

  • .htaccess редирект на HTTPS (актуально, коли стався перехід сайту з HTTP на HTTPS);
  • переадресація посилання з www на посилання без www, і навпаки.

Після того як буде з’ясовано формат дзеркальної адреси, слід вказати необхідні директиви в .htaccess.

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

Налаштування відображення веб-ресурсу

Завдяки файлу .htaccess можна змінити конфігурацію відображення інтернет-ресурсу, виконуючи такі маніпуляції:

  • створення сторінок для помилок 4хх — при появі помилки користувач не тільки отримає стандартне повідомлення, але і зможе прочитати іншу корисну інформацію;
  • налаштування кодування — щоб текст на сторінках відображався коректно, слід прописати в .htaccess спеціальну директиву;
  • зміна відображення html- і php-розширення в адресах інтернет-сторінок — дані налаштування не пов’язані з ефективністю просування і вносяться за бажанням власників сайтів;
  • заміна індексного файлу — при переході в певний каталог за замовчуванням відкривається прописана в індексі сторінка, можна змінювати адресу на свій розсуд.

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

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

Збільшення швидкості сайту

За допомогою команд в файлі .htaccess є можливість збільшення швидкості завантаження веб-сторінок. Це здійснюється за допомогою наступного функціоналу:

  • стиснення складових елементів онлайн-ресурсу;
  • налаштування кешування.

Завдяки .htaccess можна реалізувати стиснення за допомогою модулів mod_deflate і mod_zip.

Керування кешем дозволяє швидше завантажувати сторінки для користувачів, що раніше відвідували веб-сайт. Завдяки тому, що браузеру не доведеться знову завантажувати сторінку, скрипти і зображення.

Підвищення безпеки

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

  • захист від DOS-атак;
  • блокування інжекції скриптів;
  • запаролений доступ до папок і файлів;
  • обмеження доступу;
  • захист контента від завантаження.

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

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

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

Обмеження доступу до веб-ресурсу прописується відповідними директивами, зокрема, що закривають доступ конкретним IP, ботам і підмережам.

Захистити контент від завантаження конкурентами найдоцільніше комерційним проектам, наприклад, інтернет-магазинам. Прописування декількох директив в .htaccess допоможе уникнути несанкціонованого використання відео і фото порушниками.

На цьому функціонал, актуалізується завдяки файлу .htaccess, не обмежується. Відображення повідомлення про недоступність сайту, установка електронної пошти адміністратора, обмеження доступу спамерів до коментарів (для WordPress), налаштування php — також в списку можливостей, які буде просто активувати за допомогою правильного налаштування.

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

Базові правила роботи з .htaccess

Налаштування .htaccess

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

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

Також перед внесенням змін обов’язково слід створити резервну копію. Як зазначалося раніше, всі внесені зміни будуть актуальні відразу після збереження файлу, тобто перезавантаження web-сервер не потрібно.

Зверніть увагу на ключові правила синтаксису для файлу .htaccess:

  • кожну нову команду слід починати з нового рядка;
  • можете залишати коментарі в файлі після символу #. Коментарі можуть стати джерелом додаткової інформації для інших розробників (сервер не буде сприймати ці рядки як команди);
  • щоб вказувати правила, застосовуються спеціальні знаки (наприклад, ^ буде говорити про початок рядка, $ — про її кінці, а комбінація () необхідна, щоб виділити певну групу символів) і змінні (наприклад, %{REMOTE_ADDR} — це IP користувача).

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

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

У цій публікації
Поділитися з друзями

Deltahost
Deltahost - Facebook