.htaccess — конфигурационный файл веб-сервера Apache. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управление доступом к каталогам и файлам, переназначение типов файлов, указание кодировки и т.д., без изменения главного конфигурационного файла.
Файл .htaccess считывается веб-сервером Apache при каждом обращении, поэтому все изменения входят в силу сразу-же после изменения.
Примеры использования файла .htaccess
Ограничение доступа к сайту для всех:
Deny from all
Ограничение доступа к сайту с IP-адреса 111.111.111.111:
Order Allow,Deny
Allow from all
Deny from 111.111.111.111
Ограничение доступа к сайту со всех адресов кроме 111.111.111.111:
Order Deny,Allow
Deny from all
Allow from 111.111.111.111
Перенаправление с HTTP на HTTPS и обратно:
Перенаправить запросы на https://site.ru
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Перенаправить запросы на http://site.ru
RewriteEngine on
RewriteCond %{ENV:HTTPS} on
RewriteRule ^.*$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Принудительное указание кодировки:
AddDefaultCharset windows-1251
Использование своих собственных общих страниц ошибок, например, как-то наиболее часто используемых:
* 401 Authorization Required - Требуется авторизация
ErrorDocument 401 http://site.ru/errors/401.html
* 403 Forbidden - Доступ запрещен
ErrorDocument 403 http://site.ru/errors/403.html
* 404 Not Found - Документ не найден
ErrorDocument 404 http://site.ru/errors/404.html
* 500 Internal Server Error - Ошибка в работе сервера
ErrorDocument 500 http://site.ru/errors/500.html
Соответствующие файлы страниц ошибок (401.html, 404.html и др.)должны находиться в корневой директории сайта.
Включение обработки PHP в .html-файлах
<IfModule mime_module>
AddType application/x-httpd-ea-php56 .php .php5 .phtml .htm .html
</IfModule>
Где x-httpd-ea-php56 - необходимо указать текущую версию PHP. Например, для версии PHP 5.3, должно быть указано x-httpd-ea-php53.
Также обращаем ваше внимание на то, что у нас нельзя менять настройки php через .htaccess
Подробнее о конфигурационном файле .htaccess, вы можете прочитать по следующим ссылкам: