Реклама. ООО «Клик.ру», ИНН:7743771327, ERID: 2VtzqvTiaJz
Когда нужно настроить редирект (переадресацию), закрыть доступ к служебному файлу, ускорить загрузку страниц или изменить поведение сайта без вмешательства в основной конфигурационный файл сервера, чаще всего используют .htaccess.
Этот файл давно стал рабочим инструментом разработчиков, администраторов и специалистов по продвижению сайтов в поисковых системах, потому что позволяет быстро вносить важные изменения на уровне сервера. Но работать с ним нужно аккуратно: даже одна ошибка в директиве может привести к сбоям.
В этой статье рассмотрим, для чего нужен .htaccess, какие задачи он решает и какие команды применяют чаще всего.
Что такое .htaccess и зачем он нужен
Файл .htaccess (от hypertext access – «доступ к настройкам веб-сервера») используют разработчики и специалисты по поисковому продвижению (SEO), когда нужно задать правила работы сайта на уровне сервера. В нем прописывают команды, которые влияют на поведение ресурса.
Если у администратора есть доступ к основному конфигурационному файлу сервера (чаще всего это .httpd.conf, хотя название может отличаться), то необходимость в .htaccess обычно отпадает. Изменения в главной конфигурации применяются быстрее и не дают лишнюю нагрузку на сервер.
Но на практике у оптимизаторов такого доступа обычно нет. Поэтому файл .htaccess остается основным инструментом для настройки сайта. Через него можно решить сразу несколько задач, важных для оптимизации проекта:
-
настроить 301 редиректы (переадресации);
-
повысить безопасность сайта целиком или отдельных его разделов;
-
задать правила отображения содержимого страниц;
-
повлиять на скорость загрузки страниц.
Где находится .htaccess и как его редактировать
Область действия команд в .htaccess зависит от того, где именно расположен файл:
-
если он находится в корневой директории, правила будут работать для всего сайта;
-
если файл лежит внутри отдельной папки, команды распространятся только на этот каталог и все вложенные подкаталоги.
При этом более приоритетными считаются правила, которые заданы на более низком уровне структуры.
Чаще всего .htaccess размещают в корне сайта. Если вы создаете его вручную, важно не забыть точку в начале имени. Это принципиальный момент, потому что .htaccess фактически выглядит как файл без привычного названия.
Для создания и редактирования подойдет любой текстовый редактор.
Как изменить готовый .htaccess в CMS (системе управления сайтами)
В некоторых системах управления сайтами (CMS) файл .htaccess можно открыть прямо через административную панель. Например, в Битриксе для этого нужно зайти в раздел «Контент», а затем выбрать пункт «Файлы и папки».

В WordPress для работы с .htaccess часто используют плагины Yoast SEO или All in One SEO Pack.
Что делать, если .htaccess еще не создан
Если файла еще нет, его можно создать самостоятельно в обычном текстовом редакторе. Для этого нужно прописать нужные директивы, сохранить файл как .htaccess и затем загрузить его в корневую директорию сайта. Если правила должны действовать только для конкретного раздела, файл можно разместить внутри соответствующего каталога.
PromoPult – это платформа, где собраны основные инструменты для продвижения бизнеса в интернете. Здесь можно работать сразу с несколькими каналами в одном интерфейсе и не переключаться между разными сервисами. Вы можете:
-
Продвигать сайт в Яндексе и Google. Начать можно с бесплатного двухнедельного теста, чтобы посмотреть, как инструмент работает на практике.
-
Запускать контекстную рекламу через простой модуль с ИИ-помощниками или прямые аккаунты Яндекс Директа.
Среди плюсов платформы – бесплатная маркировка креативов и единый договор сразу на несколько видов рекламы. А для пользователей прямых рекламных аккаунтов действует бонусная программа: на счет PromoPult можно вернуть до 19% от расходов на внешнюю рекламу.
Базовые правила синтаксиса .htaccess
Каждую команду в файле нужно писать с новой строки. При необходимости можно оставлять комментарии, чтобы другим специалистам было проще понять назначение тех или иных правил.
Для комментариев используют знак #. Все, что написано в строке после этого символа, сервер игнорирует и не воспринимает как команду.
После сохранения .htaccess изменения начинают работать сразу же. Перезагрузка сервера для этого не нужна.
Правила в файле задаются с помощью регулярных выражений – специальных комбинаций символов и переменных. Полную документацию по ним мы приведем ниже, а пока разберем самые распространенные обозначения.
Основные спецсимволы
-
^ – начало строки;
-
$ – конец строки;
-
. – любой символ, кроме символа конца строки;
-
* – любое количество любых символов;
-
? – один определенный символ;
-
[0-9] – любая цифра, [a-z] – любая латинская буква;
-
| – логическое «или», когда выбирается одна из групп;
-
() – группировка символов.
Переменные, которые используют чаще всего
-
%{HTTP_USER_AGENT} – содержит данные о браузере пользователя и его операционной системе;
-
%{REMOTE_ADDR} – IP-адрес пользователя;
-
%{REQUEST_URI} – адрес запрашиваемой страницы;
-
%{QUERY_STRING} – параметры запроса после знака вопроса.
Полный синтаксис и все возможности .htaccess можно посмотреть в официальной документации. Есть и хорошие русскоязычные материалы, где разобраны практические примеры использования этого файла.
Сейчас не будем углубляться в технические детали и дальше разберем, как .htaccess помогает в оптимизации сайта.
Как используют .htaccess для редиректов (переадресаций)
Один из самых частых сценариев работы с .htaccess – настройка переадресаций. Именно через этот файл обычно управляют перенаправлениями, если нужно сохранить корректную структуру сайта, убрать дубли страниц и не потерять трафик.
Когда настраиваете 301 редиректы (переадресации), важно учитывать несколько моментов. Во-первых, не каждое перенаправление действительно нужно. Например, в ряде CMS (систем управления сайтами) переход на адрес страницы со слешем в конце уже реализован автоматически, и вручную дублировать это правило не требуется. Во-вторых, стоит избегать цепочек из нескольких переадресаций: если страница перенаправляется сначала на один адрес, а потом еще на другой, это замедляет загрузку и создает лишнюю нагрузку на сервер. Еще один практический момент: сначала лучше прописывать частные правила для отдельных страниц, а уже после этого – общие правила для всего сайта.
Постраничный редирект (переадресация): в каких случаях он нужен
Постраничные редиректы используют тогда, когда нужно перенаправить посетителя и поискового робота с одного конкретного URL на другой. Такое решение полезно в нескольких типовых ситуациях.
Например, у сайта изменилась структура, и страница переместилась на другой уровень вложенности. Допустим, раньше URL находился глубже в каталоге, а после переработки структуры адрес стал короче.
Еще один частый случай – удаление страницы. Если просто убрать ее с сайта, пользователь и поисковый робот получат ошибку 404. Для поискового продвижения (SEO) это нежелательный сценарий, особенно если страница уже была в индексе и собирала трафик. В интернет-магазине вместо удаленной карточки товара разумнее направить пользователей в соответствующую категорию или на близкую по смыслу страницу.
Третий вариант – смена URL. Вообще без необходимости адреса страниц лучше не менять, но если это уже произошло, без 301 редиректа не обойтись.
Именно поэтому редирект в таких случаях считается более правильным решением, чем простое удаление страницы. Он помогает сохранить входящий трафик и снижает риск потери позиций в поисковой выдаче.
Как настроить 301 редирект для одной страницы
Чтобы сделать простое перенаправление с одной страницы на другую, в .htaccess используют такую директиву:
Redirect 301 /url1/ https://shop.com/url2
Здесь /url1/ – это исходный адрес страницы, откуда нужно перенаправлять пользователей. Его прописывают от корневой директории, без домена и протокола. Например: /silovaya-tehnika/generatory-elektrostantsii/benzinovye/.
Адрес https://shop.com/url2 – это уже конечная страница, куда должен вести редирект. Здесь, наоборот, указывают полный URL: с протоколом и доменом. Например: https://www.vseinstrumenti.ru/silovaya-tehnika/generatory-elektrostantsii/benzinovye/.
Переадресация на URL со слешем и без него
Для поисковых систем адреса вида https://site.com/catalog и https://site.com/catalog/ – это не один и тот же URL, а две разные страницы. Если оба варианта открываются без перенаправления, на сайте появляются дубли. Поэтому нужно выбрать единый формат адресов и привести все страницы к одной логике: либо со слешем в конце, либо без него.
Обычно на новых сайтах чаще оставляют вариант со слешем. Если проект существует давно, полезно сначала посмотреть, каких URL в индексе больше, чтобы не ломать уже сложившуюся структуру без причины.
Для работы с такими редиректами нужен модуль mod_rewrite. Сначала его включают:
RewriteEngine On
Если нужно перенаправлять пользователей на адреса со слешем в конце, применяют такой код:
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
Если, наоборот, требуется убрать слеш в конце URL, используют другой вариант:
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} ![^\/]$
RewriteRule ^(.*)\/$ /$1 [R=301,L]
Главное зеркало сайта: www, без www и HTTPS
Еще одна важная задача – указать главное зеркало сайта. То есть определить, какой вариант адреса поисковая система должна считать основным. Обычно здесь решают сразу два вопроса: перевод на HTTPS и выбор формата домена – с www или без него.
Если сайт должен открываться только по защищенному протоколу, настраивают редирект на HTTPS:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
После этого нужно выбрать, какой вариант домена будет основным. Определить это можно несколькими способами. Например, добавить сайт в Яндекс Вебмастер в двух версиях – с www и без – и посмотреть, какое зеркало Яндекс назначит главным. Либо проверить поисковую выдачу и оценить, каких страниц в индексе больше. Если проект новый и истории у него еще нет, можно сразу выбрать тот вариант, который удобнее для вашей структуры.
Когда решение принято, в .htaccess прописывают нужное правило.
Если нужно перенаправлять пользователей с адреса с www на адрес без www, подойдет такой код:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Если, наоборот, основным должен быть адрес с www, используют этот вариант:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\..* [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]
301 редирект при переезде на другой домен
Когда сайт меняет домен, важно не просто запустить новый адрес, а корректно перенаправить пользователей и поисковых роботов со старого домена на новый. Для этого как раз и используют 301 редирект.
Такой редирект сообщает поисковым системам, что страница переехала на постоянной основе. Это особенно важно при переезде проекта, чтобы не потерять накопленный вес страниц, трафик и позиции.
В .htaccess для перенаправления на другой домен можно использовать, например, такой код:
RewriteEngine On
RewriteRule ^(.*)$ http://www.mysite2.com/$1 [R=301,L]
Есть и более точный вариант, когда сначала проверяется старый домен:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.mysite1\.ru$ [NC]
RewriteRule ^(.*)$ http://www.mysite2.ru/$1 [R=301,L]
В этих примерах mysite1 – старый домен, а mysite2 – новый.
Как .htaccess помогает ускорить работу сайта
Файл .htaccess используют не только для редиректов. Через него можно повлиять и на скорость загрузки страниц. Чаще всего для этого включают сжатие файлов и управляют кешированием браузера.
Сжатие файлов сайта
Чтобы уменьшить объем передаваемых данных и ускорить загрузку страниц, в .htaccess можно включить сжатие компонентов сайта. Для этого обычно используют модули mod_gzip и mod_deflate. По качеству сжатия они близки, но работают немного по-разному.
У Gzip синтаксис более гибкий: можно настраивать правила через маски и точечно задавать, какие типы файлов нужно обрабатывать.
Пример настройки:
< ifModule mod_gzip.c >
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
< /ifModule >
Если используется mod_deflate, обычно просто перечисляют типы файлов, которые нужно сжимать:
< ifModule mod_deflate.c >
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
< /ifModule >
Настройка кеширования в .htaccess
Еще один способ ускорить загрузку страниц – правильно настроить кеширование. Особенно это заметно для тех пользователей, которые уже заходили на сайт раньше.
Когда человек открывает страницу впервые, браузер загружает изображения, стили, скрипты и другие элементы. Если кеширование включено, при повторном визите часть этих ресурсов не нужно скачивать заново: браузер возьмет их из кеша. За счет этого страница откроется быстрее.
Один из вариантов настройки кеширования выглядит так:
FileETag MTime Size
< ifmodule mod_expires.c >
< filesmatch ".(jpg|gif|png|css|js)$" >
ExpiresActive on
ExpiresDefault "access plus 1 week"
< /filesmatch >
< /ifmodule >
В этом примере срок жизни кеша задан как одна неделя – access plus 1 week. При необходимости можно указать и другой период: например, месяц, год или несколько часов.
Тот же принцип можно реализовать и более детально, если задать сроки отдельно для разных типов файлов:
< IfModule mod_expires.c >
ExpiresActive On
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType text/javascript "access plus 7 days"
ExpiresByType text/css "access plus 7 days"
ExpiresByType image/gif "access plus 7 days"
ExpiresByType image/jpeg "access plus 7 days"
ExpiresByType image/png "access plus 7 days"
< /IfModule >
Через кеширование обычно задают правила для таких типов файлов:
-
image/x-icon
-
image/jpeg
-
image/png
-
image/gif
-
application/x-shockwave-flash
-
text/css
-
text/javascript
-
application/javascript
-
application/x-javascript
-
text/html
-
application/xhtml+xml
Как еще используют .htaccess для управления сайтом
Через .htaccess можно не только настраивать редиректы, но и менять то, как сайт открывается для пользователя, какие страницы показываются по умолчанию, как обрабатываются ошибки и какие ограничения действуют для посетителей. Ниже разберем самые полезные сценарии.
Как заменить индексный файл в каталоге
Индексный файл – это страница, которую сервер открывает автоматически, если пользователь заходит в определенный раздел сайта. Чаще всего это index.html, index.php, default.html или похожий файл.

Представим, что у интернет-магазина техники есть раздел https://teh-shop.com/smartfony/, и сейчас в нем по умолчанию загружается index.html. Но вы хотите, чтобы вместо него открывалась страница new.html, где собраны новинки. Это можно сделать через .htaccess, если разместить файл в папке /smartfony/ и прописать такую директиву:
DirectoryIndex new.html
Если нужно указать несколько вариантов на случай, когда основной файл недоступен, можно перечислить их подряд:
DirectoryIndex new.html new2.php new3.html
Тогда сервер будет проверять их по порядку.
Как настроить отображение расширения .html в URL
Адрес страницы может выглядеть по-разному: с расширением .html или без него. Например:
-
https://site.com/main.html
-
https://site.com/main
С точки зрения поискового продвижения прямого влияния на ранжирование здесь обычно не выделяют. Выбор зависит скорее от принятой на сайте логики адресации. Главное – использовать один вариант последовательно, чтобы не создавать дубли.
Если нужно добавить расширение .html в адреса, можно использовать такие правила:
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteRule ^(.*)/$ /$1.html [R=301,L]
Если задача обратная и нужно убрать .html из URL, подойдет такой вариант:
RewriteBase /
RewriteRule (.*)\.html$ $1 [R=301,L]
По тому же принципу можно управлять и показом расширения .php.
Как задать правильную кодировку сайта
Если кодировка указана неверно или не задана вообще, вместо текста на страницах могут появиться нечитаемые символы. Чтобы этого не происходило, кодировку нужно определить явно.
Обычно ее прописывают в метатеге на самой странице. Но если это не сделано, часть настроек можно задать через .htaccess.
Для кодировки Windows-1251 используют такую директиву:
AddDefaultCharset WINDOWS-1251
Если нужно, чтобы файлы при загрузке на сервер обрабатывались в кодировке UTF-8, применяют другой вариант:
CharsetSourceEnc UTF-8
Как настроить собственные страницы ошибок 4xx и 5xx
Стандартные страницы ошибок обычно бесполезны для пользователя. Если человек попал на 404, лучше не просто показать сухое сообщение, а объяснить, что произошло, и дать ссылки на важные разделы сайта. Это особенно полезно для интернет-магазинов, сервисов и контентных проектов, где важно не терять посетителя.

Чтобы настроить такие страницы через .htaccess, нужно сначала подготовить их и разместить, например, в папке error в корне сайта. После этого прописывают такие команды:
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
После этого при возникновении соответствующей ошибки сервер будет показывать вашу страницу, а не стандартную.
Как усилить безопасность через .htaccess
Файл .htaccess часто используют и как дополнительный инструмент защиты. С его помощью можно ограничить доступ к отдельным файлам и разделам, заблокировать нежелательных ботов, закрыть возможность прямого использования изображений и снизить риск некоторых атак.
Как защитить изображения от прямого использования на чужих сайтах
Для интернет-магазинов и контентных проектов это особенно актуально. Конкуренты могут не просто копировать картинки, а подгружать их напрямую с вашего сервера по ссылке. В результате ваш хостинг расходует ресурсы, а изображения работают на чужой сайт.
Чтобы этого не происходило, можно настроить замену изображений-заглушек:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www.)?mysite.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ https://mysite.com/img/goaway.gif[nc]
Вместо mysite.com нужно подставить домен своего сайта. В этом примере при попытке использовать ваши картинки с другого ресурса будет подгружаться файл goaway.gif. Это может быть просто заглушка или изображение с любым предупреждением.
Как ограничить доступ к сайту, файлам или ботам
В .htaccess можно задавать правила, которые ограничивают доступ:
-
для отдельных IP-адресов;
-
для целых подсетей;
-
для вредоносных ботов;
-
для конкретных файлов.
Например, если нужно заблокировать часть User-Agent, можно использовать такой набор директив:
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
< limit get="" post="" head="" >
Order Allow,Deny
Allow from all
Deny from env=bad_bot
< /limit >
Этот список можно менять под свои задачи: убирать лишние строки или добавлять новые.
При необходимости через .htaccess можно даже закрыть доступ отдельным поисковым роботам. Например, запрет для Googlebot выглядит так:
RewriteEngine on
RewriteCond %{USER_AGENT} Googlebot
RewriteRule .* - [F]
Ограничение доступа по IP
Если нужно разрешить вход только нескольким адресам, а остальных закрыть, используют такой вариант:
ErrorDocument 403 https://mysite.com
Order deny,allow
Deny from all
Allow from IP1
Allow from IP2
Если, наоборот, сайт должен быть доступен всем, кроме нескольких IP, правила будут такими:
allow from all
deny from IP1
deny from IP2
Для блокировки подсети используют запись с маской:
allow from all
deny from 192.168.0.0/24
Такие ограничения полезны, например, если на сайт идет спамный трафик или слишком много запросов с конкретных адресов. Обычно такие IP находят в логах сервера или в системах статистики.
Как закрыть доступ к конкретному файлу
Если нужно запретить открытие отдельного файла, можно прописать правило такого вида:
< files myfile.html >
order allow,deny
deny from all
< /files >
Вместо myfile.html нужно указать свой файл с расширением. После этого при попытке открыть его пользователь увидит ошибку 403.
Такая защита особенно полезна для чувствительных файлов. Например:
-
для самого .htaccess;
-
для wp-config.php в WordPress, где хранятся данные для подключения к базе.
Как заблокировать переходы с нежелательных сайтов
Иногда нужно запретить трафик с конкретных источников, если это сомнительные или вредоносные сайты. В таком случае можно использовать такое правило:
< IfModule mod_rewrite.c >
RewriteEngine on
RewriteCond %{HTTP_REFERER} bad-site.com [NC,OR]
RewriteCond %{HTTP_REFERER} bad-site.com [NC,OR]
RewriteRule .* - [F]
< /ifModule >
Вместо bad-site.com указывают адреса сайтов, с которых не хочется принимать переходы.
Как настроить доступ по паролю к файлам и папкам
Через .htaccess можно поставить пароль на отдельный файл или целую директорию. Это удобно, если нужно ограничить доступ к служебным разделам, тестовым версиям страниц или внутренним материалам.
Сначала создают файл .htpasswd, где в формате user:password прописывают логины и пароли. Для безопасности пароли лучше хранить в зашифрованном виде.
После этого в .htaccess задают путь к этому файлу и описывают, что именно защищается.
Для файла правило может выглядеть так:
< files secure.php="" >
AuthType Basic
AuthName ""
AuthUserFile /pub/home/.htpasswd
Require valid-user
< /files >
Для папки – так:
resides
AuthType basic
AuthName "This directory is protected"
AuthUserFile /pub/home/.htpasswd
AuthGroupFile /dev/null
Require valid-user
Путь /pub/home/.htpasswd нужно заменить на путь к своему файлу.
Как защититься от внедрения вредоносных скриптов
Одна из угроз для сайта – скриптовые инъекции, когда злоумышленник пытается передать через запрос вредоносный код. Часть таких попыток можно отсечь через .htaccess.
Пример директив:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
Если условие срабатывает, сервер отвечает кодом 403 и не выполняет запрос.
Как ограничить размер запросов и снизить риск DoS-атаки (искусственное создание нагрузки на сервер)
Полноценная защита от DoS-атак строится не только через .htaccess, но некоторые базовые ограничения здесь задать можно. Один из простых вариантов – ограничить максимальный размер загружаемых данных.
Например:
LimitRequestBody 10240000
В этом случае сервер не примет запросы с телом больше 10 Мбайт.
Если нужно настроить защиту глубже, дополнительно изучают директивы LimitRequestFields, LimitRequestFieldSize и LimitRequestLine. Официальная справка здесь.
Дополнительные возможности .htaccess
Кроме поисковой оптимизации (SEO), безопасности и редиректов, через .htaccess можно задавать и другие параметры, которые пригодятся в работе сайта.
Настройки PHP через .htaccess
Если доступа к php.ini нет, часть параметров PHP иногда задают через .htaccess. Например, можно изменить максимальный размер загружаемых файлов, лимит POST-запроса и время выполнения скрипта:
< ifModule mod_php.c >
php_value upload_max_filesize 125M
php_value post_max_size 20M
php_value max_execution_time 60
< /ifModule >
Здесь:
-
upload_max_filesize – предельный размер загружаемого файла;
-
post_max_size – общий объем POST-данных;
-
max_execution_time – максимальное время выполнения скрипта в секундах.
Как снизить поток спамных комментариев в WordPress
Если на сайте на WordPress появляются спамные комментарии, можно ограничить обращения к файлу wp-comments-post.php. Для этого используют такой код:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*mysite.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
Вместо mysite.com подставляют адрес своего сайта.
Как назначить имейл администратора сервера
Через .htaccess можно указать адрес администратора, на который будут приходить системные уведомления:
ServerSignature EMail
SetEnv SERVER_ADMIN admin@mysite.com
Здесь admin@mysite.com нужно заменить на рабочий имейл.
Как показать страницу о технических работах
Если сайт временно недоступен из-за обновления или обслуживания, вместо ошибки лучше вывести отдельную страницу с объяснением ситуации. Это снижает раздражение пользователей и помогает сохранить доверие.
Для такого перенаправления можно использовать следующий код:
RewriteEngine on
RewriteCond %{REQUEST_URI} !/info.html$
RewriteCond %{REMOTE_HOST} !^12\.345\.678\.90
RewriteRule $ https://mysite.ru/info.html [R=302,L]
Здесь нужно заменить IP-адрес сервера и URL страницы с уведомлением о технических работах.
Что важно помнить при работе с .htaccess
У .htaccess большие возможности, но ошибки в нем быстро сказываются на работе сайта. Поэтому перед любыми изменениями лучше сохранять резервную копию. Если новая директива вызовет сбой, вы сможете быстро вернуть рабочую версию.
Есть и другие правила, которые стоит держать в голове:
-
команды из .htaccess, который лежит в корне сайта, действуют и на вложенные каталоги;
-
если в отдельных папках создаются дополнительные .htaccess, туда лучше добавлять только локальные правила, а не дублировать все заново;
-
если директив много, вносите их поэтапно: добавили одно правило, проверили результат, потом переходите к следующему;
-
в командах нельзя использовать кириллицу, поэтому кириллические домены нужно переводить в punycode (формат записи доменов с кириллицей в латинице);
-
если после изменений появилась ошибка 500, сначала проверьте синтаксис: нередко проблема возникает из-за обычной опечатки;
-
слишком большое количество правил в .htaccess может ухудшить производительность сайта.
Если не хочется разбираться в синтаксисе вручную, можно использовать генератор .htaccess, а затем проверить готовые команды перед внедрением.


