Головна » 2012 » Листопад » 14 » Налаштуваня файлу .htaccess
20:55
Налаштуваня файлу .htaccess

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

Даний фал ви не побачите через потік http, відповідно користувачі не зможуть побачити усі налаштування вашого сайту.

Сервер Apache діє таким чином: на початку обробки сторінки, він спочатку шукає саме файл .htaccess, що знаходиться в корні директорії. Якщо він знайдений, то Apache починає обробку директорії відповідним чином, описаним у файлі.

Якщо сервер при обході директорій, знаходить синтаксичні помилки у файлі .htaccess, то він припиняє обробку. Ось деякі з них, а точніше: найпопулярніші помилки при роботі з цим файлом:

1. Шлях до файлу повинен бути повним. (/paht/to/your/site /.htpassword)

2. Для переадресацій вказуємо протокол: http або ftp (Redirect / http://www.somesite.ru/)

3. За замовчуванням файл називається .htaccess.

4. Файл зберігається в Unix форматі. Тобто символ нового рядка - \ n.

Тепер варто поговорити про деякі найпопулярніші параметри налаштувань:

Заборони та дозволи

Заборона на всі файли в каталозі:

deny from all

Доступ тільки з певного IP:

order allow deny

   deny from all

   allow from $ip

   $ip - IP адрес.

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

order allow,deny

   allow from all

   deny from $ip

Заборона доступу на групу файлів по розширенню (по масці):

<Files "\.(tar|gif|png|...|xml)$">

          order deny,allo,

    deny from all

    </Files>

Дозвіл або заборона на читання по розширенню.

Заборона на доступ до файлів *. inc:

<Files "\.(inc)$">

       order allow,deny

    deny from all

    </Files>

Варто відзначити, що заборони файлу .htaccess будуть діяти тільки при зверненні до потрібного документу через браузер користувача.

Заборона доступу до конкретного файлу:

<Files conf.inc.php>

       order allow,deny

    deny from all

    </Files>

Заборона на читання conf.inc.php відвідувачами сайту не забороняє локальним додаткам сервера читати цей файл.

Встановлення паролів

Паролюванння директорії:

AuthName "Reg only"

     AuthType Basic

     AuthUserFile /pub/home/site/.htpasswd

        require valid-user

Таке значення AuthName для відвідувачів буде виводитися у спливаючому вікні. Значення AuthUserFile вказує серверу, де зберігається файл з паролями для доступу. Такий файл можна створити спеціальною утилітою htpasswd в операційній системі linux або htpasswd.exe в ОС Windows.

Пароль тільки на 1 файл:

Приклад установки пароля на файл file.rar:

<Files file.rar>

    AuthName "Users zone"

    AuthType Basic

    AuthUserFile /pub/home/login/.htpasswd

         require valid-user

    </Files>

Пароль на групу файлів по розширенню:

<Files "\.(gif|png|...|rar)$"> А далі як пароль на файл

Перенаправлення (редиректи)

Redirect відвідувачів на другий сайт:
           Redirect / http://www.site.ru/

Перенаправлення при запиті певних каталогів і сторінок:

redirect /_vti_bin http://alterwebs.net/

    redirect /cpp http://alterwebs.net

    redirect /dpp http://alterwebs.net/read/general/list/

    RedirectMatch (.*)\cmd.exe$ http://www.microsoft.com$1

Перевизначення стартової сторінки

DirectoryIndex index.html

Або

DirectoryIndex index.shtm index.php3 index.php index.htm index.html

Обробка помилок сервера

код 401 - Потрібна авторизація (Authorization Required)

код 403 - Немає доступу (Forbidden)

код 404 - Не знайдений файл (File not found)

код 500 - Внутрішня помилка сервера (Internal Server Error)

ErrorDocument 401 / errors/401.html

ErrorDocument 403 / errors/403.html

ErrorDocument 404 / errors/404.html

ErrorDocument 500 / errors/500.html

 

Виставити повну заборону на перегляд змісту необхідної директорії. Тобто, якщо в каталозі dir / немає файлу Index. *, щоб він завантажувався автоматично, то при зверненні користувача до dir /, йому буде відмовлено в доступі і Apache видасть помилку 403.

Options –Indexes

Кодування

Іноді необхідно встановити кодування за замовчуванням, тобто default-кодування. В якому кодуванні сервер буде віддавати документи.

AddDefaultCharset windows-1251

А також установка необхідного кодування на файли на сервері:

CharsetSourceEnc windows-1251

Переглядів: 638 | Додав: itportalkmua | Рейтинг: 0.0/0
Всього коментарів: 0
Додавати коментарі можуть лише зареєстровані користувачі.
[ Реєстрація | Вхід ]