Настройка сервера с помощью .htaccess Назначение и использование файла .htaccess

    HOSTALFA.RU - платный хостинг. Качество высокое, цены низкие! Домен в подарок!
                               Хостинг PHP                      Хостинг с поддержкой PHP, MySQL,Zend                                            Русифицированная cpanel на hostalfa.ru                      



  • Главная
  • Вход в биллинг
  • Вход в cPanel
  • Управление доменами
  • Хостинг тарифы
  • Правила хостинга
  • Домены
  • Партнёрам
  • Оплата
  • FAQ
  • Обратная связь
  • Настройка сервера с помощью .htaccess

    Настройка сервера с помощью .htaccess

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

     

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

     

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

     

    Как известно, конфигурационные директивы сервера Apache находятся в файлe httpd.conf. Но далеко не всегда у Вас будут права доступа к этому файлу. Например, если Вы используете для хостинга виртуальный сервер, когда один сервер Apache обслуживает множество сайтов, то, естественно, Вам никто не позволит менять его конфигурацию. Но, тем не менее, вы можете конфигурировать работу сервера в своих директориях. И делать вы это можете с помощью файлов .htaccess.

    Файл .htaccess может быть размещен в любом каталоге. Директивы этого файла действует на все файлы в текущем каталоге и во всех его подкаталогах (если эти директивы не переопределены директивами нижележащих файлов .htaccess).

    Изменения, вносимые в файлы .htaccess, вступают в силу немедленно и не требуют перезагрузки сервера, в отличие от изменений, вносимых в главный конфигурационный файл httpd.conf.

    Синтаксис .htaccess

    Перед тем, как будут рассмотрены примеры, остановимся на синтаксисе директив в файлах .htaccess.

    ·        Пути к файлам и директориям должны указываться от корня сервера, например, /www/account_name/htdocs

    ·        В именах доменов обязательно должны быть указаны протоколы, например:

    Redirect / http://www.rz-host.ru

    Путь от корня сервера на SoftTime-Хостинг

    На нашем сервере абсолютный путь формируется следующим образом: к директории /www необходимо прибавить имя Вашего FTP-аккаунта, например, для аккаунта supercom абсолютный путь будет выглядеть так:

    # корневая директория аккаунта
    # сюда Вы попадаете при заходе на сервер по
    FTP
    /
    www/supercom

    # путь путь к корневой директории сайта
    # здесь лежат
    html, php файлы, изображения и т.п.
    /
    www/supercom/htdocs

    Для проверки Вы можете посмотреть абсолютный путь к корневой директории сайта с помощью функции языка PHP - phpinfo(). Выполните её и посмотрите в фиолетовых таблицах значение директивы DocumentRoot. Она будет содержать путь к корневой директории сайта.

    Примеры использования .htaccess

    Глобальное перенаправление (редирект) на другой адрес:

    Redirect / http://www.site.ru

    Перенаправление (редирект) только при запросе определенных страниц:

    redirect /company http://www.site.com/company
    redirect /forum http://www.site.com/forum

    При запросе страниц из каталогов company и forum будет произведено перенаправление на новые адреса.

    Перенаправление (редирект) только посетителей с определенным IP-адресом:

    SetEnvIf REMOTE_ADDR 92.241.169.162 REDIR="redir"
    RewriteCond %{REDIR} redir
    RewriteRule ^/$ /only_for_you.html

    Если посетитель имеет IP-адрес 92.241.169.162, то ему будет открыта страница only_for_you.html.

    Изменение названия индексной страницы:

    DirectoryIndex index.html index.php index.shtml

    Можно указать несколько индексных страниц. При запросе каталога они будут искаться в том порядке, в котором перечислены в директиве DirectoryIndex. Если не будет найден файл index.html, то будет произведен поиск файла index.php и т.д.

    Выполнять код PHP в файлах HTML

    RemoveHandler .html .htm
    AddType application/x-httpd-php .php .htm .html .phtml

    Добавив эти строки в .htaccess вы дадите директиву серверу выполнять инструкции PHP не только в файлах с расширением *.php и *.phtml, но и в файлах с расширением *.htm и *.html.

    Обработка ошибок Apache

    ErrorDocument 401 /401.html
    ErrorDocument 403 /403.html
    ErrorDocument 404 /404.html
    ErrorDocument 500 /500.html

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

    ·        401 ошибка — Требуется авторизация (Authorization Required).

    ·        403 ошибка — пользователь не прошел аутентификацию, доступ запрещен (Forbided).

    ·        404 ошибка — Документ не найден (Not Found).

    ·        500 ошибка — Внутренняя ошибка сервера (Internal Server Error).

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

    OptionsIndexes

    Разрешить отображение листинга каталога

    Options +Indexes

    Определение кодировки, в которой сервер "отдает" файлы

    AddDefaultCharset windows-1251

    Определение кодировки на загружаемые файлы

    CharsetSourceEnc windows-1251

    Запрет доступа ко всем файлам

    deny from all

    Запрещен доступ ко всем файлам и каталогам в текущей директории.

    Разрешить доступ только с определенного IP-адреса

    order deny,allow
    deny from all
    allow from
    85.72.219.162

    Строка order deny,allow определяет, в каком порядке следует выполнять директивы. Сначала выполняется директива запрета доступа, а затем разрешается доступ только для IP-адреса 85.72.219.162. Если в первой строке поменять порядок следования директив на order allow,deny, то доступ для данного IP-адреса не будет открыть, так как директива deny, выполняемая последней перекроет действия директивы allow.

    Запретить доступ с определенного IP-адреса

    deny from 120.28.64.69

    Запретить доступ к определенному файлу

    <Files config.php>
    deny from all
    </Files>

    Запрещен доступ посетителей к файлам config.php. Этот запрет не действует на скрипты web-сервера. Они по прежнему будут иметь доступ к этому файлу.

    Запретить доступ к файлам с определенным расширением

    <Files "*.conf">
    deny from all
    </Files>

    Здесь запрещен доступ к файлам с расширением *.conf. Директива , при указании имени файлов, позволяет использовать подстановочные символы.

    ? - любой одиночный символ
    * - любая последовательность символов, исключая символ / (слеш)

    Запретить доступа к файлам с несколькими типа расширений

    <Files ~ ".(inc|conf|cfg)$">
    deny from all
    </Files>

    Запрещен доступ к файлам с расширением *.inc, *.conf и *.cfg. Хотя директива , по умолчанию, не работает с регулярными выражениями, но их можно включить поставив символ тильды(~) в опциях директивы. Синтаксис следующий:
    [тильда] [пробел] [далее_все_без_пробелов]

    Установка пароля на директорию

    AuthName "Admin page"
    AuthType Basic
    AuthUserFile /www/account_name/.password
    require valid-user

    Файл с вышеприведенными директивами следует положить в защищаемую директорию. В директиве AuthUserFile прописывается абсолютный путь к файлу, содержащему шифрованные пароли.

    Регистрация доменов:
  • Домены .RU от 4$
  • Домен регистрируется на Вас!

  • Мгновенная регистрация домена!

  • Панель управления доменами

  • DNS сервера бесплатно!

  • Оптовая регистрация доменов одним кликом!

  • Возможность сделать whois анонимным!


  • Подробнее


    Партнёрская программа:
    лучшая партнерская программа в хостинге
    выплаты WebMoney, Yandex, Z-Payment
    До 30% комиссионных

    Подробнее...


    Web мастеру

    Шаблоны сайтов,
    Бесплатные PHP скрипты,
    музыкальные и видео
    конверторы, генератор
    sitemap.xml, HTML,PHP

    Подробнее...

  • Полный SEO анализ

  • Анализ контента

  • Опредеоение позиций в поисковиках
  • Новости:
    15.03.2009 On-Line оплата..

    подробнее..
    Способы оплаты:
    Принимаем платежную систему Z-PAYMENT
    Связь с нами:
    ICQ:
    452105716 - Геннадий
    E-Mail:
    admin@hostalfa.ru
    support@hostalfa.ru

    Rambler's Top100 Рейтинг@Mail.ru Яндекс цитирования

    Copyright © 2008 Hostalfa