Керівництво по використанню

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

Як зробити .htaccess
Просто. На локальному компі створюємо текстовий документ .htaccess.txt, по FTP заливаємо його на хост, і перейменовуємо в .htaccess

Тепер трохи конкретики. Що можна зробити за допомогою .htaccess?

Міняємо сторінку, яка буде показуватися при зверненні до директорії.

Пропишемо в файлі .htaccess:

DirectoryIndex index.shtml
** При звернення до директорії, в якій лежить .htaccess, вантажитиметься файл index.shtml

Заборона доступу за допомогою .htaccess

При бажанні можемо дати заборона на всі файли:

deny from all
*** ніхто нічого не побачить.


Дозволити доступ відвідувачеві тільки з певного ip:

Order Allow, Deny
deny from all
allow from 192.168.8.1
*** Всім крім відвідувача з IP 192.168.8.1 доступ заборонений.

Order Deny, Allow
Deny from all
Allow from .armadaboard.com
*** Тільки армадовци побачать ваш сайт.


Заборона доступу для певного ip:

Order Allow, Deny
Allow from all
deny from 192.168.8.1
*** Для відвідувача з IP 192.168.8.1 доступ на сайт заборонений.
**** Тільки не питайте в мене десь всять список китайських ip

Аналогічно, як і в прикладі вище, можна замість (а можна і спільно) IP використовувати ім'я домену, тобто заборонити доступ для відвідувачів, які прийшли з певного сайту:

Order Allow, Deny
Allow from all
deny from .thehun.net
deny from 192.168.8.1
*** Для відвідувача з IP 192.168.8.1 і всіх, хто прийшов з thehun.net доступ на сайт заборонений.


Певна кодування на всі файли на хост файли:

CharsetSourceEnc windows-iso-8859-1
*** всі файли будуть мати кодування windows-iso-8859-1

Можна виставити певну кодування лише на конкретні завантажуються на хост файли:

AddType "application / x-httpd-php3; charset = windows-iso-8859-1" .html
AddType "application / x-httpd-php3; charset = windows-1251" .htm
*** Встановлюємо кодування windows-iso-8859-1 на файли .html і windows-1251 на файли .htm


Кодування на всі файли, в якій за замовчуванням буде отримувати їх браузер відвідувача:

AddDefaultCharset windows-iso-8859-1
*** Всі сторінки, які віддає сервер клієнту, будуть мати кодування windows-iso-8859-1


Перенаправляємо відвідувачів на інший URL (редирект)
У .htaccess пишемо:


Перенаправлення відвідувачів при запиті певних сторінок:
Захищаємося від усіляких мережевих вірусів і сканерів.
Додаємо в .htaccess:


Ставимо заборону на відображення вмісту директорії за відсутності індексного файлу:

Обробка помилок c допомогою .htaccess:

ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

Можна створити свої сторінки помилок (див. Приклад вище), а можна редирект на конкретний url:

Схожі статті