Перейти на главную

Разделы

  • Общие вопросы
  • Хостинг
  • Домены
  • SSL
  • Почта
  • Технические вопросы
  • Оплата услуг
  • Документы
  • Бланки заявлений
  • >> Назад

    Файл .htaccess

    Файл .htaccess позволяет производить дополнительную конфигурацию веб-сервера Apache для достижения таких целей, как:

    — Осуществление переадресации на другой домен
    — Ограничение доступа к сайту
    — Изменение значений директив PHP
    — Отображение собственных страниц ошибок

    Редактирование файла .htaccess поможет в осуществлении следующих задач:

    Организация переадресации с одного сайта на другой
    Переадресация поддомена в подкаталог сайта
    Переадресация с протокола HTTP на протокол HTTPS
    Ограничение/разрешение доступа к сайту с определённых IP-адресов
    Ограничение доступа к определённым файлам
    Назначение кодировки для заголовков отдаваемых сервером по умолчанию
    Корректная установка CMS Bitrix
    Изменение значений директив register_globals или magic_quotes_gpc
    Отображение возникающих ошибок PHP на странице
    Указание собственной страницы ошибок
    Отключение кеширования OPCache

    Домены с кириллическими символами

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

    Организация переадресации с одного сайта на другой

    Для организации переадресации с одного сайта на другой достаточно добавить следующие строки в файл .htaccess:
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(www\.)?from\.com$
    RewriteRule ^(.*)$ http://to.com/$1 [L,R=301]

    где from\.com — имя домена, с которого должна осуществляться переадресация, а «to.com» — ее цель.
    При этом экранирование символа точки обратной косой чертой \ во второй строке не является обязательным.

    Переадресация поддомена в подкаталог сайта

    Организация переадресации запросов на поддомен в подкаталог сайта осуществляется путем добавления в файл .htaccess следующих строк:
    RewriteEngine on
    RewriteBase /
    RewriteCond %{HTTP_HOST} (www\.)?img\.example\.com $
    RewriteCond %{REQUEST_URI} !img/
    RewriteRule ^(.*)$ img/$1

    где img\.example\.com нужно заменить на имя поддомена, с которого должна осуществляться переадресация, а img на имя подкаталога, в котором находятся файлы поддомена. При этом экранирование символа точки обратной косой чертой \ в третьей строке не обязательно.

    Переадресация с протокола HTTP на протокол HTTPS

    Переадресация с протокола HTTP на протокол HTTPS осуществляется добавлением кода в .htaccess файл:
    RewriteEngine on
    RewriteCond %{HTTP:HTTPS} !=on [NC]
    RewriteRule ^(.*)$ https://www.example.ru/$1 [R=301,L]

    и наоборот, с HTTPS на HTTP:
    RewriteEngine on
    RewriteCond %{HTTP:HTTPS} =on [NC]
    RewriteRule ^(.*)$ http://www.example.ru/$1 [R=301,L]

    Ограничение/разрешение доступа к сайту с определённых IP-адресов

    Для ограничения доступа к сайту с определённых IP-адресов в файл .htaccess требуется добавить:
    Order Allow,Deny
    Allow from all
    Deny from IP

    где вместо подстроки IP требуется добавить IP-адрес, для которого нужно будет ограничить доступ, или список таких IP-адресов перечисленных через символ пробела.

    Если требуется разрешить доступ к сайту только с определённых IP-адресов, то для этого можно добавить следующие строки:
    Order Deny,Allow
    Deny from all
    Allow from IP

    где IP — IP-адрес, для которого будет разрешён доступ, или список таких IP-адресов перечисленных через символ пробела.

    Ограничение доступа к определённым файлам

    Настройка ограничения доступа к определённым файлам производится путем добавления в .htaccess файл:
    <Files ПУТЬ_К_ФАЙЛУ>
    Order Deny,Allow
    Deny from all
    Allow from IP
    </Files>

    где ПУТЬ_К_ФАЙЛУ — необходимо заменить на целевой файл, а IP — на IP-адрес, для которого будет разрешён доступ.

    Назначение кодировки для заголовков отдаваемых сервером по умолчанию

    Для назначения кодировки для заголовков отдаваемых сервером по умолчанию достаточно добавить:
    AddDefaultCharset utf-8

    Затруднения с отображением кодировок, как правило, связаны с тем, что устаревшее ПО (сайт, CMS) использует кодировку отличную от той, на работу с которой сконфигурирован сервер. Данная директива может помочь в устранении данной ошибки.

    Корректная установка CMS Bitrix

    Для корректной установки CMS Bitrix в файле .htaccess необходимо указать следующее :
    php_value mbstring.internal_encoding UTF-8
    php_value mbstring.func_overload 2
    php_value max_input_vars 10000
    php_value pcre.recursion_limit 1000

    Изменение значений директив register_globals или magic_quotes_gpc

    Если используетcя PHP, установленный как модуль веб-сервера Apache, и не используются глобальные переменные, рекомендуется отключать опцию register_globals в целях безопасности. Отключение register_globals производится внесением в файл .htaccess строки:
    php_flag register_globals off

    В том случае, если «волшебные кавычки» включены, то спецсимволы, к примеру, такие как одиночные и двойные кавычки. будут экранироваться обратными слэшами «\», что не всегда удобно. В версиях PHP 5.4.0. и выше данная директива не поддерживается. Для отключения «волшебных кавычек» в .htaccess следует добавить строку:
    php_flag magic_quotes_gpc off

    Отображение возникающих ошибок PHP на странице

    Иногда для произведения анализа работы сайта может потребоваться отображение возникающих ошибок PHP в браузере. Эту задачу можно решить добавлением двух строк в файл .htaccess:
    php_flag display_errors on
    php_value error_reporting -1

    Указание собственной страницы ошибок

    Установка собственных страниц ошибок возможна с помощью директивы ErrorDocument. После ErrorDocument указывается номер ошибки и путь к странице с ошибкой (либо текстовое сообщение). Примеры использования:
    ErrorDocument 404 /errors/not_found.php
    ErrorDocument 401 /info.html
    ErrorDocument 403 «you shall not pass»
    ErrorDocument 500 http://example.com/500.php

    Временное отключение кеширования OPCache
    php_value opcache.revalidate_freq 0

    Полный список и подробности того, какие директивы доступны для редактирования через файл .htaccess, предоставлены в официальной документации PHP и веб-сервера Apache2 по следующим ссылкам:
    Документация PHP
    Список директив php.ini
    Веб-сервер Apache2

    Не нашли ответ на свой вопрос? Напишите нам на е-майл: info@vlad-hostcorp.ru

    Компания Влад-Хост © 2007-2022 Все права защищены.
    Все права на материалы, находящиеся на сайте, охраняются в соответствии с законодательством РФ.
    При любом использовании материалов сайта письменное согласие обязательно.
    Торговые марки, логотипы и марки услуг, размещенные на данном сайте, являются собственностью компании Влад-Хост или третьих лиц.