Файл .htaccess позволяет настраивать Apache прямо в папке сайта без доступа к конфигурации сервера. Он находится в public_html/.
⚠️ Ошибка в .htaccess вызывает ошибку 500 для всего сайта. Всегда делайте резервную копию перед редактированием.
301 редиректы
RewriteEngine On
# Со старой страницы на новую
Redirect 301 /old-page.html /new-page
# Редирект всей папки
RedirectMatch 301 ^/old-section/(.*)$ /new-section/$1
www ↔ без www
RewriteEngine On
# Перенаправить ВСЕ запросы на www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
# Или наоборот — убрать www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
HTTP → HTTPS редирект
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Защита папки паролем
# Создайте файл .htpasswd:
# htpasswd -c /home/user/.htpasswd adminuser
# В .htaccess папки:
AuthType Basic
AuthName "Protected Area"
AuthUserFile /home/user/.htpasswd
Require valid-user
Блокировка IP-адресов
# Заблокировать конкретный IP
Deny from 203.0.113.42
# Разрешить только свой IP
Order deny,allow
Deny from all
Allow from 203.0.113.10
Кэширование статических файлов
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
✅ После изменений в .htaccess проверьте сайт в режиме инкогнито. Если ошибка 500 — верните предыдущую версию через cPanel → Файловый менеджер.