Разделы
Файл .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 Все права защищены.