Кожна людина, займаючись серфінгом в інтернеті, набредал на такі веб-сторінки і сайти, які некоректно відображаються. Наприклад, відкривши який-небудь сайт, користувач бачить замість зрозумілого тексту різноманітні проблеми, серед яких можна розрізнити ієрогліфи, дуги, символи та інші знаки. Найбільш висока ймовірність побачити подібне при переході на якийсь китайський або японський сайт. Все це відбувається з-за того, що там використовуються інші параметри у файлі .htaccess. Кодування в тих країнах інша. Правильно налаштований файл дасть можливість уникнути появи подібних незрозумілих символів на сайті.
Для чого необхідна кодування
Для сайту існує основна кодування, яку називають Default Charset. Включена вона в спеціальний файл .htaccess. Кодування необхідна для того, щоб вірно визначити правило, згідно з яким символи будуть перетворюватися в кодові значення. Пару десятків років тому кодування були зовсім маленькими. Вони включали в себе не більше семи біт інформації. Прикладом може бути кодування ASCII. Тепер їх з'явилося дуже велика кількість. Серед них - і найпопулярніші UTF-8 Windows-1251. Суть полягає в тому, що документи, які мають різні кодування, будуть виглядати по-різному. Саме з цієї причини на сторінках сайту з'являються помилки. Браузер користувача може бути налаштований на один тип кодування, а файл .htaccess на сервері містить у собі іншу. У результаті весь текст на сторінках перетворюється в набір незрозумілих символів.
Основні кодування
В .htaccess можна вказати параметр, за допомогою якого буде визначатися головна кодування для всього веб-порталу. Крім цього можна прописати і інші кодування, що дозволить їм коректно відображатися на всіх сторінках сайту. Веб-розробниками .htaccess кодування зазвичай вказується двох видів - UTF-8 і Windows-1251. Саме вони за замовчуванням використовуються великим числом браузерів і текстових редакторів.
Щоб уникнути утворення закарлючок, які неможливо розібрати, необхідно або налаштувати головну кодування всього сайту за допомогою параметра Default Charset, а також .htaccess заборонити перекодування файлів або прописати всі необхідні кодування. Адже головною проблемою є те, що, наприклад, користувач може відправити якісь дані в досконалої інший кодуванні, яку сервер прочитати не зможе. Такі дії потрібно заздалегідь попередити.
Як налаштувати кодування сайту в файлі .htaccess
Кодування Default Charset, яка є ключовою, що обробляється сервером за замовчуванням і відправляється браузеру, указується за допомогою опції AddDefaultCharset. Необхідна вона для того, щоб додавати налаштування кодування за замовчуванням. При відправці заголовків HTTP них прописується правило, яке повідомляє браузеру, в якому кодуванні слід розглядати всі символи на сайті. Саме тому в розділі Content-Type потрібно вказувати вірну кодування. Це і є налаштування .htaccess. Дана опція є основною необхідної директивою для того, щоб налаштувати кодування сайту в файлі. Ця команда здатна остаточно вирішити проблему, пов'язану зі скриптами, за замовчуванням використовують невідомі для російськомовних браузерів кодування, а не ті, які потрібні. Якщо не прописати параметр, браузер б видав помилку. В іншому випадку всі документи автоматично перекодуються. Потрібно врахувати, що не всі браузери бачать кодування однаково. З цієї причини краще використовувати найвідоміші – UTF-8 і Windows-1251. Вони відомі всім браузерам.
Від проблем з кодуванням можна позбутися за допомогою активації автоматичного перекодування документів. Для цього в файл .htaccess включається спеціальна опція CharsetSourceEnc. Після неї необхідно прописати основну кодування. Всі решта будуть перекодовуватися в неї. Якщо з тієї чи іншої причини перекодування потрібно буде прибрати, то слід написати у файлі команду CharserDisable On.
Завдання ще одного кодування для окремих розділів сайту
Таке не трапляється часто, але іноді виникає необхідність, щоб одна сторінка або ціла частина розділу відображалася на іншій мові. Відповідно, потрібна й інша кодування. У разі знаходження в кореневій директорії файлу .htaccess з прописаної кодуванням, всі сторінки сайту будуть відображатися саме в ній. Результатом може бути те, що людина зайде в іноземний розділ веб-сайту, а там замість тексту на потрібному йому мовою буде відображатися група незрозумілих символів і букв. Для того щоб з цією проблемою розібратися, чи потрібна додаткова настройка .htaccess. Необхідно створити ще один такий же файл і в ньому прописати команду AddType, в якій вказується додаткова кодування. Цей файл може діяти як на весь веб-сайт, так і на окремі сторінки. Це залежить від того, де буде розташований файл .htaccess. Якщо розмістити його всередині папки з певною мовою сайту, його конфігурації будуть працювати лише на цю частину. Інші ж будуть функціонувати за правилами першого .htaccess, який знаходиться в кореневій директорії сайту.
Редирект за допомогою .htaccess
Багато розробники сайтів стикаються з такою ситуацією, коли при зміні діючого проекту потрібно зберегти старі адреси деяких сторінок. Особливо часто таке трапляється, коли змінюється система управління контентом, на якій сайт працює. Буває, що спочатку сайт був статичним і про логічності адрес ніхто не дбав. Необхідна переадресація (.htaccess вимагає внесення змін).
Переадресація також потрібна, якщо адміністратор хоче зберегти позиції сторінок сайту у видачі пошукових систем. Адже підвищувати рейтинг з нуля – це важке завдання. Що потрібно для того, щоб була організована така переадресація? .htaccess повинен використовуватися на хостингу. Редирект в ньому здійснюється за допомогою опції Redirect 301 після якої вказується адресу нової сторінки.
Обмеження доступу
Для того щоб обмежити доступ до всього сайту, його розділів або певних файлів, які знаходяться на сервері, також використовується .htaccess. Доступ забороняється для того, щоб до файлів не зверталися ті користувачі, які можуть щось зіпсувати. Використовуються наступні команди: Для заборони доступу до всього сайту в файлі прописується команда deny from all. Для заборони доступу з певної ip-адреси використовується команда deny from ір_адрес_пользователя.
Захист файлів
Швидше за все, кожен користувач зустрічав абсолютно ідентичні статті на різних веб-сайтах. Найчастіше буває так, що їх просто крадуть з інших ресурсів. Звичайно, пошуковики борються з таким явищем, як дублювання сторінок, але дуже часто вони не зовсім правильно вибирають першоджерело. Для копірайтерів і програмістів це є дуже серйозною проблемою. Адже для того, щоб написати якісний контент, йде багато часу і сил. А потім пошукова система накладає санкції за скопійований матеріал. Це неприємно. Часто з текстом також крадуть і зображення. При цьому велике число таких злодіїв навіть не завантажують зображення з чужих ресурсів. Щоб не перевантажувати свої сервери, вони просто вказують посилання на картинки з першоджерела. Така вставка посилання іменується хотлинком. Крім посилань на картинки їх можна вставляти, вказуючи на файли, які доступні для завантаження. Для автора контенту таке явище вкрай неприємно. Сервер першоджерела з-за них також перевантажується. У файлі .htaccess можна вказати файли, які будуть захищені від хотлинка. В ньому прописуються розширення, яким буде заборонений доступ. Також для окремих файлів або цілих груп можна встановити пароль. Потім файл .htaccess поміщається в директорію, доступ до якої потрібно закрити.
Діагностика помилок
Буває так, що виникає помилка з кодом «500» після редагування або розміщення файлу .htaccess. Така помилка з'являється із-за недоліків в самому файлі. Можна дізнатися причини у файлі, який знаходиться в директорії домену, в папці з звітами. Також, якщо не виконується те, що вказано в .htaccess, потрібно впевнитися в тому, що обробка даного файлу включена в налаштуваннях сайту. Як бачите, файл .htaccess необхідний як для налаштування кодування веб-сайтів, так і для інших корисних операцій, що дозволяють грамотно керувати розробкою і підтримкою різних проектів.