Файл .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: