Файл .htaccess — це конфігураційний файл на рівні директорії, який підтримується вебсервером Apache. Він дозволяє змінювати налаштування вебсервера (наприклад, вмикати або вимикати функції) для конкретного облікового запису, не впливаючи на глобальну конфігурацію сервера.
Цей файл застосовує свої налаштування до всієї директорії, в якій він знаходиться, включаючи всі файли та піддиректорії в цій директорії. Будь-які зміни, внесені у файл .htaccess, застосовуються миттєво, без необхідності перезапуску сервера.
Щоб знайти файл .htaccess:
1. Перейдіть у свій обліковий запис Spaceship >> виберіть Hosting Manager у Launchpad >> Керувати поруч із тарифним планом хостингу >> Файли та сховище >> Керувати файлами біля назви сайту.
2. Ви будете перенаправлені до кореневої папки домену.
3. Якщо потрібно відредагувати файл .htaccess для домену, знайдіть файл .htaccess у кореневій папці домену, клацніть по ньому правою кнопкою миші та виберіть опцію Редагувати :

ПРИМІТКА: Переконайтеся, що "Показувати приховані файли (dotfiles)" увімкнено в меню Налаштування:

4. Якщо у Файловому менеджері немає файлу .htaccess, ви можете створити новий за допомогою кнопки + Файл:

5. Тепер ви можете додати власні правила конфігурації та зберегти їх.
Цей метод дозволяє блокувати користувачів за їх IP-адресою або доменом. Це особливо корисно для обмеження доступу небажаним відвідувачам або для обмеження доступу до певних розділів вашого сайту, наприклад, до адміністративної зони, лише для власника.
Щоб застосувати певні правила блокування, створіть файл .htaccess із наступним вмістом:
(Щоб дозволити доступ усім, окрім користувачів із IP-адресою X.X.X.X)
<RequireAll>
Require all granted
Require not ip X.X.X.X
</RequireAll>
(Щоб заблокувати всіх відвідувачів, окрім конкретних IP X.X.X.X та Y.Y.Y.Y)
<RequireAll>
Require all denied
Require ip X.X.X.X
Require ip Y.Y.Y.Y
</RequireAll>
ПРИМІТКА: Не використовуйте застарілі директиви Allow, Deny та Order разом із новою директивою Require .
Mod_Rewrite визначає, як вебсторінки та URL-адреси відображаються відвідувачам.
За замовчуванням Mod_Rewrite зіставляє URL із відповідним шляхом у файловій системі. Однак він також може перенаправляти одну URL-адресу на іншу.
Перед налаштуванням перенаправлення важливо вибрати тип перенаправлення, який найкраще відповідає вашим потребам:
Постійне перенаправлення (301): Це перенаправлення надсилає код стану 301, що означає, що сторінку було остаточно переміщено. Воно кешується у браузері, сигналізуючи пошуковим системам і агентам користувача оновити URL у своїх базах даних. Це найпоширеніший тип перенаправлення.
Тимчасове перенаправлення (302): Це перенаправлення надсилає код стану 302, що означає, що переміщення тимчасове. Браузер не буде кешувати це перенаправлення, і хоча воно перенаправить відвідувачів і пошукові системи, оригінальна сторінка продовжить індексуватися. Цей тип перенаправлення рекомендується, якщо ви не впевнені, що URL не зміниться в майбутньому.
Нижче наведено список деяких із найпоширеніших і найкорисніших перенаправлень, які можна налаштувати через файл .htaccess:
Постійне перенаправлення з example1.com на example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^(.*)$ "http\:\/\/example2\.com/$1" [R=301,L]
Тимчасове перенаправлення з exampledomain1.com на exampledomain2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^(.*)$ "http\:\/\/example2\.com\/" [R=302,L]
ПРИМІТКА: Нижче наведено приклади постійних перенаправлень. Тимчасові перенаправлення можна визначити, замінивши [R=301,L] на [R=302,L] у кінці коду (де це потрібно).
Перенаправлення з example1.com/subfolder на example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^subfolder/$ "http\:\/\/example2\.com\/" [R=301,L]
Перенаправлення з HTTP на HTTPS для example.com
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://example.com%{REQUEST_URI} [R,L]
або
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Перенаправлення з non-WWW на WWW
для будь-якого домену, .htaccess набирає чинності:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
для вказаного домену:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
Перенаправлення з WWW на non-WWW
для будь-якого домену .htaccess набирає чинності:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
для вказаного домену:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]
Перенаправлення всіх сторінок example.com на відповідні сторінки domain.com
RedirectMatch 301 ^/(.*)$ http://domain.com/$1
ПРИМІТКА: Імена всіх сторінок мають збігатися на обох доменах, інакше перенаправлення призведе до повідомлення "Сторінку не знайдено".
Перенаправлення однієї сторінки на нову URL-адресу
Redirect 301 /old_page.html http://www.domain.com/new_page.html
ПРИМІТКА: Цей прийом може бути корисним для перенаправлення видаленої сторінки на помилку 404 або для SEO-коригувань після оновлення посилань у контенті.
Цей тип правила визначає обмеження безпеки для директорії або піддиректорії. Ви можете захистити директорії паролем, щоб будь-який відвідувач, який намагається отримати до них доступ, повинен був ввести ім'я користувача та пароль.
Щоб налаштувати цей захист:
1. Створіть директорію, яку потрібно захистити, у папці /home/cpanel_user/.htpasswds/ (наприклад, для domain.com/test шлях буде .htpasswds/domain.com/test/).
2. У цій директорії створіть файл passwd і додайте хешовані облікові дані для доступу за допомогою онлайн-генератора.
3. Додайте такі директиви у файл .htaccess:
AuthType Basic
AuthName "Directory Name"
AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd"
require valid-user
Ця функція дозволяє створювати персоналізовані сторінки помилок для вашого сайту. Це корисна опція, оскільки вона дозволяє показувати відвідувачам повідомлення про помилку, яке відповідає темі вашого сайту, якщо є биті посилання. Це допомагає уникнути відображення стандартної помилки '404 File Not Found' і натомість повертає спеціально розроблену сторінку помилки з інструкціями, які допоможуть користувачам повернутися до контенту сайту, запобігаючи плутанині.
Щоб налаштувати власну сторінку помилки, додайте наступний текст у файл .htaccess:
ErrorDocument 404 /404.html
Цей рядок вказує вебсерверу Apache завантажувати файл 404.html, розташований у кореневій директорії домену, кожного разу, коли виникає помилка 404 (Файл не знайдено).
ПРИМІТКА: Щоб створити власні сторінки помилок для інших помилок (наприклад, 403 або 500), просто замініть 404 на відповідний код помилки та /404.html на шлях до вашого власного файлу помилки.
Якщо вам потрібно тимчасово вимкнути деякі з існуючих правил, наприклад, для тестування, ви можете легко закоментувати їх. Для цього просто додайте знак решітки (#) на початку рядка.
Як альтернатива, ви можете вимкнути окремий рядок або блок рядків, виділивши їх і використовуючи комбінацію клавіш Ctrl + / .