Вэб-сервер Apache — самый распространённый вэб-сервер. Многие начинающие вэб-дизайнеры и вэб-программисты так или иначе с ним сталкиваются. Однако большинство даже не знает основных вещей. Давайте заполним эти пробелы.
В первую очередь следует начать с .htaccess. Апач, при получении запроса от браузера, сначала смотрит есть ли в папке файл .htaccess. Если есть он считывает его содержимое, тут начинается самое интересное.
Содержимое .htaccess не может быть каким угодно. Если вы напишите туда всякую абракадабру или даже стихи А.С. Пушкина то Апач отреагирует на это одинаково: Internal Server Error.
Что же можно писать в htaccess? В htaccess можно писать только директивы Апач и его модулей (mod_php, mod_ruby и т.п.). Таких директив очень много, полный их список вы можете найти в документации к Апач. Мы остановимся на наиболее полезных и часто используемых директивах.
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. В .htaccess можно писать что всё угодно если в начале каждой строки ставить символ комментария # . Комментарий полезен так же когда вы временно хотите отключить действие некоторых директив:
# Options +ExecCGI
# Redirect /news http://lenta.ru/
Статья взята с http://hostfabrica.ru/. Про применение файлов .htaccess см. также статью "Безопасность сайта".
|