Apache - налаштування серверу, файл htaccess
Файл .htaccess
Файл .htaccess (зверніть увагу, що перший символ у назві файлу - крапка) застосовується для керування веб-сервером Apache з боку кінцевого користувача хостінгу. Ви поміщаєте в цей файл директиви, які веб-сервер сприймає та обробляє, виконуючи дії відповідно до налаштувань, які були зроблені користувачем.
Файл .htaccess може бути розміщений у кореневому каталозі веб-серверу. У цьому випадку директиви з такого .htaccess діють по всьому веб-серверу. Також .htaccess може перебувати у конкретному підкаталозі сервера. Тоді директиви, які зазначені в цьому файлі, «перекривають» дію директив з «основного» файлу, що розміщений у будь-якому каталозі більш високого рівня. Тобто, дія директив з .htaccess успадковується зверху в низ, але не навпаки. Зміни, внесені у файл, набувають чинності негайно. Це пов'язане з тим, що інформація з .htaccess перечитується при кожному звертанні до веб-серверу Apache.
Якщо використовувати потрібну директиву не вийшло, і ви побачили помилку після додавання директиви в.htaccess, швидше за все, використання команди заборонене в умовах віртуального хостінгу. Напишіть у технічну підтримку, ми постараємося вам допомогти. Прохання докладно описати проблему та указати мету, якої хочете досягти використанням даної директиви
На хостінгу заборонені директиви php_flag, php_value та options, ці директиви доступні для зміни через панель керування хостінгом.
Індексний файл
Індексний файл, це файл, що відкривається при звертанні до каталогу сайту, якщо не зазначена конкретна сторінка в папці. За замовчуванням індексними файлами є файли з наступними назвами: index.php, index.htm, index.html, index.shtm. Якщо Ви захочете змінити список індексних файлів або їхній пріоритет Ви можете створити файл.htaccess з наступною командою:
DirectoryIndex newindex.php
Заборона доступу
Заборона доступу за допомогою .htaccess При бажанні можемо дати заборону на всі файли:
deny from all
Ніхто нічого не побачить. звертаємо увагу на те, що скриптам, що працють на стороні сервера файли однаково будуть доступні.
Дозволити доступ відвідувачеві тільки з певного ip:
Order Deny, Allow
Deny from all
Allow from 195.245.112.2
Усім крім відвідувача з IP 195.245.112.2 доступ заборонений.
Також можна вказати замість айпі домене ім'я
Order Deny, Allow
Deny from all
Allow from .domain.com
Тільки для .domain.com буде доступний ваш сайт
Зміна стандартного кодування сторінок сайту
Ми хочемо «пояснити» веб-серверу що всі html-документи, які розміщені на сервері, потрібно «віддавати» клієнтові в кодуванні koi 8-r, а не в windows-1251, як це сервер робить за замовчуванням. Для цього помістимо в.htaccess рядок:
AddType "text/html; charset=koi 8-r" .html .htm .shtml
Одержавши такий .htaccess, веб-сервер Apache стане видавати клієнтському браузеру заголовок, у якому буде зазначено, що документ має кодування koi 8-r.
Якщо на вашому ресурсі існують html-документи в різних кодуваннях, ( ISO-8859-1, Windows-1250, Windows-1252, UTF-8), вам можливо, буде необхідно відключити примусово видачу заголовка з кодуванням windows-1251. Для цього в.htaccess додається рядок:
AddDefaultCharset Off
При цьому відповідне кодування повинно бути прописане на кожній html-сторінці у вигляді тегу < http-equiv=" Content-type" content="text/html; charset= windows-1251" />
Налаштування власних сторінок помилок
Найбільше часто виникаючі помилки:
404 - сторінка не знайдена
403 - доступ заборонений
500 - помилка сервера, наприклад не може бути виконаний CGI скрипт
Для перевизначення сторінки помилок Ви можете скористатися наступною директивою в.htaccess:
ErrorDocument 404 /pagenotfound.html