Главная > Программы > Apache > htaccess Настройка веб-сервера Apache с помощью конфигурационного файла .htaccess
Примите во внимание!Прежде чем вносить те или иные изменения, убедитесь, что у Вас есть резервная копия оригинального файла .htaccess Вашего сайта. Злоупотребление использованием файла .htaccess может стать причиной снижения производительности Вашего сайта. Использовать .htaccess для решения какой либо задачи следует только, если нет других вариантов. Файл имеет название Справка: Если вы используете ОС Windows, для создания нового файла .htaccess
необходимо открыть пустой текстовый документ с расширением Вы можете помещать в При работе нужно учитывать то, что администратор может запретить выполнение команды, которая, в принципе, может исполняться из .htaccess. Как правило, это выражается тем, что при правильном синтаксисе директив веб-сервер выдает ошибку с кодом 500, вместо ожидаемого результата. Понятие о конфигурационном файле .htaccessНаш хостинг в качестве веб-сервера использует Apache. Данное ПО осуществляет обработку http-запросов и выдает результат, соответствующий обработанному запросу - это может быть html-документ, картинки, файлы и многое другое. Apache является основой для большинства сайтов в мире (около 90% ресурсов в Интернете используют данный веб-сервер) и свою популярность он приобрел благодаря своей функциональности и надежности. Apache легко интегрируется с широко применяемыми СУБД (к примеру MySQL) и интерпретаторами таких популярных языков как PHP и Perl. Вы, как потребитель услуг хостинга сайтов (или виртуального хостинга), можете легко сконфигурировать веб-сервер под нужды своего сайта, благодаря гибкой настройки Apache, допускающей децентрализованное управление конфигурацией с помощью специально предназначенного для этого файла .htaccess. Данный файл переназначает многие директивы из главного файла конфигурации веб-сервера Apache httpd.conf для вашего сайта или отдельных страниц. Однако, возможен случай ограничения доступа для пользователей к определенным директивам. Справка: Файл .htaccess может быть размещён в любом каталоге. Действие его директив распространяется на каталог, в котором располагается, и на его дочерние каталоги (если эти директивы не переопределены в файле .htaccess, находящемся в дочернем каталоге). При каждом обращении к веб-серверу .htaccess читается заново, поэтому изменения, которые были внесены Вами в этот файл, сразу же вступают в силу. Так же файлы .htaccess не доступны пользователю из браузера, поскольку они являются служебными. Правила редактирования .htaccessОсновные правила создания / редактирования файла .htaccess, несоблюдение которых приводит к ошибкам сервера:
Определение своего индексного файла (стартовой страницы)Индексный файл (файл-индекс или просто стартовая страница) - это файл, который открывается по умолчанию при обращении не к конкретному файлу, а к каталогу. Примером такого обращения является переход по адресу "http://my-site.handyhost.ru/atricls" (здесь atricls - каталог) и веб-сервер отобразит один из существующих в данном каталоге индексных файлов из списка заданных по умолчанию: index.html, index.htm, index.php, index.php3, index.phtml, index.shtml, default.htm или default.html. То есть при переходе по адресу "http://my-site.handyhost.ru/" отобразится страница "http://my-site.handyhost.ru/index.html" (или index.php и т.д.). Если веб-сервер не найдет индексный файл, то выдаст список файлов в каталоге или ошибку с кодом 403. Если Вы хотите сделать стартовой страницей (индексным файлом), скажем,
DirectoryIndex my-page.php
Тогда при переходе по адресу "http://my-site.handyhost.ru" отобразиться страница "http://my-site.handyhost.ru/my-page.php". В данной директиве можно указывать несколько индексных файлов: DirectoryIndex my-page.shtml my-page.php my-page.php3 my-page.html
Переопределение кодировки страниц и загружаемых на сервер файловКодировка страницЕсли вы хотите задать собственную кодировку страниц, то для этого необходимо
воспользоваться директивой Пример: AddDefaultCharset utf-8
Использование данной директивы позволяет избежать проблем в случае, если ваш скрипт включает в страницу элементы, которые имеют кодировку отличную от используемой в основном документе. Если же нужно перезадать кодировку на AddType "text/html; charset=koi8-r" .html .htm .shtml
Если на вашем сайте есть страницы в разных кодировках,(Windows-1250, Windows-1252, UTF-8, ISO-8859-1), то, скорей всего, возникнет необходимость отключить принудительную выдачу заголовка с кодировкой по умолчанию. Для этого в .htaccess добавляется строка: AddDefaultCharset Off
Но тогда на каждой html-странице должна быть прописана соответствующая кодировка в рамках тега HEAD в виде мета тега: <meta http-equiv="content-type" content="text/html; charset=Windows-1251">
С точки зрения программирования удобней всего размещать страницы с разными кодировками в разных каталогах, где будут находиться соответствующие файлы .htaccess (для многоязычных сайтов удобно размещать страницы на одном языке в отдельном каталоге, например, в каталоге ru размещаются страницы с кодировкой Windows-1251). Кодировка загружаемых на сервер файловС помощью директив в .htaccess можно задать перекодировку файла при его загрузке на сервер. Например, мы хотим сообщить веб-серверу, чтобы все получаемые файлы имели кодировку windows-1251, тогда необходимо указать кодировку на загружаемые файлы: CharsetSourceEnc windows-1251
Для отмены перекодировки сервером файлов служит следующая директива: CharsetDisable On
Запрет выдачи списка файлов в каталогеПо умолчанию в случае отсутствия файла-индекса (ссылка на "Определение своего индексного файла") веб-сервер выводит список файлов каталога, т.е. в файл конфигурации веб-сервера включена директива: Options +Indexes
Если вы хотите, чтобы вместо списка файлов выводилась ошибка с кодом 403, вам необходимо добавить в файл .htaccess следующую директиву: Options -Indexes
В случае, если Вам понадобиться разрешить просмотр списка файлов, за исключением части файлов, например, с расширениями php и gif, то необходимо включить в конфигурационный файл следующую строчку: IndexIgnore *.php *.gif
Переопределение страниц ошибокНаиболее частые ошибки выдаваемые веб-сервером при обработке различных запросов:
По умолчанию пользователю выдается довольно простая страница с сообщением об ошибке на английском. Вы можете сделать, так чтобы при этих ошибках были показаны ваши страницы. Для этого необходимо добавить несколько директив в файл .htaccess: ErrorDocument 403 /error/403error.html
ErrorDocument 404 /error/404error.html
ErrorDocument 500 /error/500error.html
Регулярные выраженияРегулярные выражения часто применяются в различных дерективах для определения списков файлов или адресов. Важно запомнить синтаксис регулярных выражений для успешной настройки .htaccess! В регулярном выражении можно использовать любые печатные символы (включая пробел), но некоторые из них имеют особое значение:
Запрет доступа к ресурсамИногда возникает необходимость запретить определенным пользователям доступ к каталогу, к каким либо файлам или сайту целиком. Это можно сделать с помощью следующих директив:
Примеры конфигурации .htaccess
Order Deny,Allow
# запрет для всех
Deny from all
# разрешаем только 192.168.1.1
Allow from 192.168.1.1
Order Allow,Deny
Allow from all #разрешаем всем
Deny from rambler.ru #запрет для хоста
Deny from 192.168.1.1, 192.168.1.2 #запрет для IP адресов
<Files ".htpasswd">
Order Deny,Allow
Deny from all
Allow from 97.84.88.14
</Files>
<Limit GET>
Order Allow,Deny
Allow from all
Deny from 97.84.88.14, 97.84.88.15
</Limit>
<FilesMatch "\.(gif|jpe?g|png)$">
Order Deny,Allow
Deny from all
Allow from 97.84.88.14
</FilesMatch>
Здесь для определения группы файлов использовались регулярные выражение.
Главная > Программы > Apache > htaccess |