×

15+ возможностей .htaccess, о которых вы могли не знать

Россия +7 (909) 261-97-71
Шрифт:
0 192
Подпишитесь на нас в Telegram

Реклама. ООО «Клик.ру», ИНН: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 – это платформа, где собраны основные инструменты для продвижения бизнеса в интернете. Здесь можно работать сразу с несколькими каналами в одном интерфейсе и не переключаться между разными сервисами. Вы можете:

Среди плюсов платформы – бесплатная маркировка креативов и единый договор сразу на несколько видов рекламы. А для пользователей прямых рекламных аккаунтов действует бонусная программа: на счет 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, а затем проверить готовые команды перед внедрением.

Оригинал статьи на SEOnews

Есть о чем рассказать? Тогда присылайте свои материалы в редакцию.


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
Как ИИ усиливает маркетинг и помогает общаться с пользователем
Иван
1
комментарий
0
читателей
Полный профиль
Иван - Классная статья, забрал Хотелось бы услышать еще от эксперта мнение про модели в таком случае и дисперсию
Тренды e-commerce 2026: рынок ждет отток с маркетплейсов?
Арина
1
комментарий
0
читателей
Полный профиль
Арина - Мы пробовали разные сервисы, но уже давно используем этот сервис tryon.mall-er.com у них есть и Визуальный поиск и Виртуальная примерка. Мы пользуемся Виртуальной примеркой очков и поиском и внедрили себе на сайт, сейчас порядка 80% нашего трафика с удовольствием пользуются данными функциями.
SEO-анализ сайта – новый сервис для технического аудита сайта
Олег Алексеев
1
комментарий
0
читателей
Полный профиль
Олег Алексеев - Сюда t.me/obivaaan или сюда t.me/olegalexeyev
Накрутка ПФ vs Бизнес: как накрутка поведенческих факторов «убьет» ваш бизнес в интернете
Гость
1
комментарий
0
читателей
Полный профиль
Гость - Вообще бред несут-пункт позиции и там и там суотрудничать,банов нет,риски и остальные пункты просто смешно,пф гораздо эффективнее чем платить в пиксель)))
Что будет с SEO в 2026: эксперты рынка подводят итоги и делают прогнозы на этот год
Марал Гаипова
142
комментария
0
читателей
Полный профиль
Марал Гаипова - Дмитрий, спасибо, эксперты и правда - топ)
Классические ML-алгоритмы vs. GPT в SEO: сравнение подходов, плюсы и ограничения
Дмитрий Севальнев
129
комментариев
0
читателей
Полный профиль
Дмитрий Севальнев - Монументально!
Битрикс24 запускает бесплатный курс по вайбкодингу для гуманитариев
Ирина
1
комментарий
0
читателей
Полный профиль
Ирина - Хорошее решение для бизнеса
Полгода в MAX: взрывной рост каналов и аудитории
Игорь
2
комментария
0
читателей
Полный профиль
Игорь - Когда нужно быстро понять, что происходит с каналами в MAX можно зайти на сервис maxdash.ru/ Пользоваться очень удобно: видно рост подписчиков, охваты, вовлечённость, какие каналы сейчас реально растут. Всё собрано в одном месте, без лишней возни с таблицами. Помогает трезво оценивать результаты и принимать решения не «на глаз», а по цифрам.
Yandex Cloud сменил логотип и визуальный стиль
Гостьфы
1
комментарий
0
читателей
Полный профиль
Гостьфы - это че такое
Ozon добавил генерацию ответов на отзывы с помощью ИИ
Сергей
1
комментарий
0
читателей
Полный профиль
Сергей - Интересно добавят ли такую фичу, чтобы покупатель товара мог "свой" сгенерированный отзыв о товаре добавлять и получать за это балы? :)
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
483
Комментариев
393
Комментариев
373
Комментариев
262
Комментариев
249
Комментариев
171
Комментариев
156
Комментариев
142
Комментариев
129
Комментариев
121
Комментариев
100
Комментариев
97
Комментариев
97
Комментариев
96
Комментариев
80
Комментариев
77
Комментариев
74
Комментариев
67
Комментариев
66
Комментариев
60
Комментариев
59

Отправьте отзыв!
Отправьте отзыв!