.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, вы можете прочитать по следующим ссылкам:

https://httpd.apache.org/docs/current/howto/htaccess.html

http://www.htaccess.net.ru/

Обновлено 24 октября 2020 г.