Главная страница Наши услуги Регистрация нового пользователя Как с нами связаться? О компании WebDomain.com.ru Главная страница Наши услуги Что мы можем расcказать Как с нами связаться? Карта сайта Наши проекты Страница помощи Тарифные планы хостинга Полезные ссылки Как с нами связаться? Новости компании О тарифном плане «Стандарт» О тарифном плане «Специальный» О тарифном плане «Профи & бизнес» Виртуальный хостинг для Вас Хостинг для реселлера в Ваших руках Эффективная раскрутка Вашего сайта
Главная страница Наши услуги Регистрация нового пользователя Как с нами связаться? О компании WebDomain.com.ru
Вход в панель управления хостингом

  17 May 2006 Акция!!! Экономьте с нами
.....................................................
При оплате хостинга за год по любому тарифному плану, Вы получаете в подарок 6 месяцев бесплатного хостинга, при это ваша экономия составляет минимум 27$. При оплате за 6 ›››


       Apache: настройки веб-сервера, файл .htaccess

   Мы используем Apache httpd в качестве основного веб-сервера. Apache используется для организации большинства веб-серверов в мире и является самым массовым продуктом своего класса. Этот сервер обладает обширными возможностями конфигурации, является очень производительным и поддерживает все известные протоколы для работы веб-серверов. Специально для Apache созданы версии таких популярных языков программирования как Perl и PHP, а также этот сервер легко интегрируется с широко применяемыми СУБД (например, MySQL).

   Главный сайт проекта находится по адресу , а основная документация по версиям 1.3.хх , 2.0.xx , 2.1.xx доступна на странице .

   Пользователям мы предоставляем возможность самостоятельной конфигурации Apache путем использования соответствующих директив в файле .htaccess. Таким образом можно решить большинство задач по конфигурации веб-сервера в условиях массового хостинга.

   Индексный файл

   Индексный файл или файл-индекс это файл, который открывается по умолчанию когда пользователь обращается через веб к каталогу, а не к конкретному файлу. Например, ваш посетитель запросит адрес http://ваш_домен/price/, где price - название каталога. Индексный файл это тот файл, который будет показан пользователю при обращении к каталогу без указании имени конкретного файла в нем.

   По умолчанию индексными файлами являются следующие: index.html, index.htm, index.php, index.php3, index.phtml, index.shtml, default.htm или default.html. Если вы хотите чтобы первым открывался какой-то иной файл, нужно переопределить текущие значения. Как это сделать читайте ниже.

   назначение и использование файла .htaccess

   Файл .htaccess (обратите внимание что первый символ в названии файла - точка) применяется для управления веб-сервером Apache со стороны конечного пользователя хостинга. Вы помещаете в этот файл , которые веб-сервер воспринимает и обрабатывает, выполняя далее действия в соответствии с настройками, которые были сделаны пользователем.

   Файл .htaccess может быть размещен в корневом каталоге веб-сервера (прямо в каталоге www) и в этом случае директивы из такого .htaccess действуют по всему веб-серверу. Также .htaccess может находиться и в конкретном подкаталоге сервера и тогда директивы, которые указаны в этом файле, «перекрывают» действие директив из "основного" файла, который размещен в каталоге www или в любом каталоге более высокого уровня. То есть, действие директив из .htaccess наследуется сверху вниз, но не наоборот. Изменения, внесенные в файл, вступают в силу немедленно. Это связано с тем, что информация из .htaccess перечитывается при каждом обращении к веб-серверу Apache.

   В .htaccess может быть помещено большинство из доступных директив для веб-сервера. Следует заметить, что директивы, в описании которых в поле Context отсутствует упоминание .htaccess недоступны для использования в этом файле конфигурации. На примере директивы AddType видим, что поле Context содержит упоминание о .htaccess, соответственно вы можете ее использовать:

Директива ADDTYPE

   Если использовать нужную директиву не получилось и вы увидели ошибку после добавления директивы в .htaccess, скорее всего использование команды запрещено в условиях виртуального хостинга. Напишите в , мы постараемся вам помочь найти выход из ситуации. Просьба подробно описать проблему и указать цели, которых хотите достичь использованием данной директивы.

   Пример использования .htaccess. Мы хотим "объяснить" веб-серверу что все html-документы, которые размещены на сервере, нужно "отдавать" клиенту в кодировке koi8-r, а не в windows-1251, как это сервер делает по умолчанию. Поместим в .htaccess строку:

    AddType "text/html; charset=koi8-r" .html .htm .shtml
   Получив такой .htaccess, веб-сервер Apache станет выдавать клиентскому браузеру заголовок, в котором будет указано, что документ имеет кодировку koi8-r. Это пример простейшего использования возможностей конфигурирования Apache через файл .htaccess.

   примеры: как закрыть директорию паролем

   Одна из стандартных задач, которая решается путем использования .htaccess, это ограничение доступа к определенному каталогу на сервере. Например, нужно дать доступ к определенному каталогу отдельным посетителям, снабдив их при этом уникальными логином и паролем.

   Создаем в каталоге, к которому хотим ограничить доступ по паролю, файл .htaccess с такими директивами:

    AuthType Basic
    AuthName "Some Name"
    AuthUserFile /home/uXXXXX/.htpasswd
    require valid-user
   Путь /home/uXXXXX/.htpasswd обозначает полный путь к файлу паролей на диске нашего сервера. Если, например, вы поместите файл .htpasswd (в нем будут пароли) в домашний каталог, куда вы попадаете зайдя на сервер по FTP, то путь к этому файлу будет иметь вид /home/uXXXXX/.htpasswd, где uXXXXX - наименование вашей виртуальной площадки (например, u12345).

   В директиве AuthUserFile указываем абсолютный путь к файлу с логинами/паролями, который мы создадим чуть позже. Если вы создаете файл .htaccess на своем компьютере, а не сразу на сервере используя текстовый редактор, обратите особое внимание на то, что .htaccess должен передаваться по FTP строго в текстовом (ASCII) режиме.

   Создаем файл паролей. Файл с паролями должен содержать строки вида login:password. Пароль должен быть зашифрован с использованием алгоритма MD5. Один из способов создать такой файл - воспользоваться программой, входящей в поставку Apache - htpasswd (на нашем сервере она находится в каталоге /usr/local/bin/, полный путь - /usr/local/bin/htpasswd).

   Рассмотрим как создать файл паролей в unix shell прямо на сервере. Зайдем в shell и будем выполнять следующие команды:

    htpasswd -mbc .htpasswd user1 sNQ7j9oR2w - создаем новый файл .htpasswd, в который добавляем запись для пользователя user1 с паролем, указанным в командной строке. Просьба обязательно заменить sNQ7j9oR2w на любой собственный пароль - здесь этот пароль указан только для примера

    htpasswd .htpasswd user2 - добавляем в уже существующий файл .htpasswd пользователя user2, а пароль вводим вручную в ответ на соответствующий запрос программы
   После окончания заведения всех логинов файл нужно загрузить на сервер.

   примеры: переопределение индексного файла

   Ситуация: пользователь обратился к каталогу http://www.ваш_домен.ru/price/. При таком запросе первым откроется и будет показан индексный файл. Если вы хотите переопределить индексный файл и сделать так, чтобы первым открывался не index.htm, а файл myindex.php, например. Сделать это можно поместив в файл .htaccess в соответствующем каталоге следующую инструкцию:

    DirectoryIndex myindex.php
   Получив .htaccess с таким содержимым, веб-сервер Apache откроет по умолчанию именно файл myindex.php.

   примеры: запрет и разрешение выдачи листинга

   В ряде случаев требуется выводить список файлов в каталоге (листинг каталога) в случае отсутствия в каталоге файла, который показывается по умолчанию. В этом случае необходимо добавить в .htaccess следующую строку:

    Options +Indexes
   Файл .htaccess необходимо содавать именно в том каталоге, в котором планируется разрешить листинг. Данная директива будет действовать также и на все подкаталоги (это достигается включенной по умолчанию в настройках вирутального хоста директивой AllowOverride All).

   По умолчанию включена директива Options -Indexes, и в случае отсутствия индексной страницы вы получите HTTP ошибку 403.

   примеры: собственные страницы ошибок

   Иногда посетители веб-сервера запрашивают страницы, которые по каким-то причинам на сервере не существуют: неправильная ссылка с другой страницы или с другого сайта, владелец сервера случайно удалил документ и так далее. По умолчанию Apache выдает некую довольно аскетичную страницу, на которой находится сообщение вроде "File not found". Вы можете создать альтернативную версию этой страницы, задав обработчик этой ошибки через .htaccess. Читайте об этом подробнее в разделе "Диагностика ошибок в работе сайта, обработка ошибок 403, 404,..".

   примеры: запрет доступа к некоторым файлам

   Иногда возникает необходимость запретить доступ к определенным файлам. Например, к конфигурационным файлам, содержащим реквизиты доступа к базам данных, интерфейсам и т.п. Допустим, в файле config.cfg вы храните логин/пароль доступа к базе данных. Создаем в этой директории файл .htaccess с директивами:

    <FilesMatch "\.(cfg)$">
    Order allow,deny
    Deny from all
    </FilesMatch>
   Теперь, если посетитель наберет в браузере нечто вида http://www.ваш_домен.ru/config.cfg, он получит ошибку ошибку 403 или вашу страницу для этой ошибки.

   примеры: заголовок last-modified

   В ряде случаев требуется, чтобы web-сервер выдавал HTTP-заголовок Last-Modified. К примеру, при регистрации вашего ресурса на , возникает ошибка .

   Для статических документов, согласно документации по Apache:

   

   cервер будет выдавать значение last-modified в том случае, если прописана директива "XBitHack full" (просто пропишите эту строку в .htaccess), и для файла, к которому происходит обращение, выставлен атрибут "исполняемый" для группы.

   Это действительно для html-файлов. В скриптах last-modified выдается иными средствами. Например, если учесть то, что php-скрипт генерирует код динамически, то самым логичным будет в качестве last-modified отдавать текущую дату и время. Реализуется это следующим образом:

    <? header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); ?>
   Внимание: команда header должна выполняться в php-скрипте до того, как скрипт начнет выдавать html-текст в браузер пользователя.

   Полезные ссылки по теме:


   примеры: управление кэшированием

   Для того чтобы ваш сайт работал максимально эффективно, целесообразно устанавливать время кэширования для различных типов файлов на максимально возможный срок. Для этого существует модуль Apache .

   Настройка параметров модуля mod_expires производится в файле .htaccess, что позволяет сделать индивидуальные настройки для каждого каталога.

   В приведенном ниже примере отключено кэширование для текстовых документов, установлен период обновления для файлов с раширением gif - 3 месяца с момента изменения файла, для файлов с расширением jpeg - 1 день с момента обращения:

    ExpiresActive on
    ExpiresByType image/jpeg "access plus 1 day"
    ExpiresByType image/gif "modification plus 3 months" ExpiresByType text/html "now"
   Примечание: При использовании если Вам необходимо полностью исключить заголовки от модуля Apache mod_expires, то для этого необходимо в директории с parser3.cgi создать файл .htaccess и внести в него следующую директиву:ExpiresActive off

   установленные модули Apache

   Список стандартных и дополнительных модулей для веб-сервера Apache, которые установлены на хостинговых машинах:

  • mod_env
  • mod_log_config
  • mod_mime
  • mod_status
  • mod_include
  • mod_autoindex
  • mod_dir
  • mod_cgi
  • mod_actions
  • mod_alias
  • mod_rewrite
  • mod_access
  • mod_auth
  • mod_expires
  • mod_setenvif
  • mod_php4
   Наши пользователи могут конфигурировать и использовать данные модули в рамках, которые предусмотрены техническими стандартами и тарифным планом конкретного пользователя.

»Другие полезные статьи

Тарифные планы на хостинг
Copyright © 2012 WebDomain.com.ru | Актуальные статьи | Каталог