Управление сервером Apache с помощью файлов .htaccess Печать
Добавил(а) microsin   

Сервер Apache [1] — самый распространённый HTTP сервер. Многие начинающие веб-дизайнеры и программисты так или иначе с ним сталкиваются. Однако большинство даже не знает основных вещей. Давайте заполним эти пробелы.

В первую очередь следует начать с .htaccess. Апач при получении запроса от браузера, сначала смотрит, есть ли в папке запроса файл .htaccess. Если есть, он считывает его содержимое, тут начинается самое интересное. Содержимое .htaccess не может быть каким угодно. Если вы напишите туда всякую абракадабру или даже стихи А.С. Пушкина, то Апач отреагирует на это одинаково: Internal Server Error.

Что же можно писать в htaccess? В htaccess можно писать только специальные директивы Апач и его модулей (mod_php, mod_ruby и т.п.). Таких директив очень много, полный их список вы можете найти в документации [2]. Мы остановимся на наиболее полезных и часто используемых директивах.

DirectoryIndex
Эта директива отвечает за то, что Апач будет показывать, если в качестве адреса на конце стоит /. Например: http://lenta.ru/ или http://www.artlebedev.ru/tools/.

Вот пример использования этой директивы:
DirectoryIndex index.html index.htm index.php /cgi-bin/index.pl

Как мы видим, после имени самой директивы, через пробел указывается список файлов, которые будут читаться сервером в порядке их следования, и первый найденный файл будет взят для отправки клиенту. В данном случае это index.html. Если бы файла index.html на сервере не было то Апач взял бы index.htm и так далее. Такие файлы принято называть индексными.

Options
Options  —  директива, с помощью которой можно включать и выключать определённые опции для данного каталога. Опций у Options много, и мы остановимся на самых основных. Как и в случае с DirectoryIndex, опции указываются после Options через пробел. Например:
Options Indexes ExecCGI Includes

Откроем смысл указанных опций. Indexes  —  установка этой опции позволяет, в случае отсутствия индексного файла, показывать список файлов и папок в данном каталоге. В случии её отсутствия и отсутствия индексного файла Апач выдаст 403 ошибку (Forbidden).

ExecCGI — наличие этой опции позволяет запускать CGI скрипты из данного каталога. Как правило, в целях безопасности, эта опция включается только для каталогов cgi-bin.

Includes — включает возможность использования в данном каталоге технологии SSI.

Опции в Options могут снабжаться префиксом + или -. Знак + означает включение этой опции, - выключение. Так, к примеру

Options -ExecCGI +Includes

отключает возможность запуска CGI скриптов и включает SSI. Следует отметить принципиальное отличие двух директив:

Options Indexes 
  и
Options +Indexes

В первом случае из всех опций для данного каталога включена только Indexes, во втором случае включена опция Indexes, а так же опции включенные в главном конфиге Апач.

Наконец, существуют две специальные опции обозначающие две крайние ситуации:
Options None
Options All

Redirect
Название директивы говорит само за себя. С помощью Redirect можно перенаправлять запросы с одного адреса на другой. Например
Redirect /news http://lenta.ru

первая часть содержит тот адрес, с которого будет сделано перенаправление, вторая куда перенаправить. Еще один пример
Redirect /index.html http://moisait.ru/nachalo/index.php

Внимательный читатель уже заметил, что тот адрес, на который идёт перенаправление, должен быть полным т. е. начинаться с http:// .

В .htaccess можно писать комментарии, если в начале строки ставить символ комментария # . Комментарий также полезен, когда вы временно хотите отключить действие некоторых директив:
# Options +ExecCGI
# Redirect /news http://lenta.ru/

Статья взята с сайта [3]. Про применение файлов .htaccess см. также статью [4].

[Ссылки]

1apache.org.
2. Apache HTTP Server Documentation site:apache.org.
3. Управление сайтом через директивы Апач site:hostfabrica.ru.
4. Безопасность сайта.