19 полезных возможностей файла .htaccess

Спорим, о некоторых вы не подозревали. Мы собрали варианты применения .htaccess для улучшения работы сайта. Он часто используется оптимизаторами для корректной настройки 301 редиректов. Но этим возможности файла не ограничиваются. Тут и безопасность, и оптимизация, и параметры отображения — с помощью .htaccess вебмастер может сделать много полезного, чтобы сайт работал корректно.
Файл .htaccess (сокращение от «hypertext access») переопределяет настройки самого популярного типа веб-серверов Apache и его аналогов. Ниже — способы применения .htaccess для разных целей с примерами кода.
Зачем нужен .htaccess и где его искать
Файл нужен для более гибкой настройки сервера под задачи оптимизатора. Задавать правила в .htaccess не стоит, если у вас есть доступ к главному конфигурационному файлу сервера .httpd.conf или apache.conf (название зависит от настроек операционной системы). Изменения в нем вступают в силу быстрее, запросы не перегружают сервер. Однако очень часто такого доступа нет, например, в случае с виртуальным хостингом. Тогда приходится прописывать нужные настройки через .htaccess.
Возможности .htaccess для оптимизации сайта:
- Настройка редиректов для SEO.
- Обеспечение безопасности ресурса в целом и отдельных разделов.
- Настройка корректного отображения сайта.
- Оптимизация скорости загрузки.
Где искать и как редактировать
Если файл .htaccess находится в корневой папке, действие команд распространяется на весь сайт, но разместить его можно в любой каталог. Тогда директивы будут касаться только конкретного каталога и подкаталогов. Таким образом, на ресурсе может быть несколько файлов .htaccess. Приоритет имеют команды файла, расположенного в каталоге, а не в корне.
.htaccess — общепринятое и самое популярное название, но не обязательное (оно задается в файле httpd.conf). Несмотря на непривычное название, создавать и редактировать файл можно в любом текстовом редакторе.
Некоторые CMS дают возможность редактировать файл через административную панель. В Битриксе его легко можно найти в разделе Контент — Файлы и папки:

В WordPress редактировать .htaccess можно с помощью модулей плагинов Yoast SEO и All in One SEO Pack.
Если файл .htaccess отсутствует, создайте его в текстовом редакторе и разместите в корневой папке сайта или в нужном каталоге (потребуется доступ к хостингу или по ftp).
Синтаксис .htaccess
Синтаксис файла простой: каждая директива (команда) начинается с новой строки, после знака # можно добавлять комментарии, которые не будут учитываться сервером. Изменения на сайте вступают в силу сразу, перезагрузка сервера не требуется.
Правила задаются в том числе при помощи регулярных выражений. Для того, чтобы их прочитать, нужно понимать значение спецсимволов и переменных. Расшифруем самые часто используемые.
Основные спецсимволы:
- ^ — начало строки;
- $ — конец строки;
- . — любой символ;
- * — любое количество любых символов;
- ? — один определенный символ;
- [0-9] — последовательность символов, например, от 0 до 9;
- | — символ «или», выбирается или одна группа, или другая;
- () — иcпользуется для выбора групп символов.
Основные переменные:
- %
— поле User-Agent, которое передает браузер пользователя; - %
— IP адрес пользователя; - %
— запрашиваемый URI; - %
— параметры запроса после знака ?.
Для тех, кто хочет основательно погрузиться в тему, — полная официальная документация по использованию .htaccess или хороший ресурс на русском. А мы пройдемся по основным возможностям файла для оптимизации вашего сайта.
Настраиваем редиректы для SEO
Как мы уже упоминали, это самый популярный способ использования .htaccess. Перед тем, как настраивать тот или иной вид переадресации, убедитесь, что это действительно необходимо. Например, редирект на страницы со слешем в некоторых CMS настроен по умолчанию. О настройках редиректа для SEO мы писали в блоге.
При настройке 301 редиректов помните о двух правилах:
- Избегайте нескольких последовательных перенаправлений — они увеличивают нагрузку на сервер и снижают скорость работы сайта.
- Располагайте редиректы от частных к глобальным. Например, сначала переадресация с одной страницы на другую, затем общий редирект на страницы со слешем. Это правило работает не в 100% случаев, поэтому с размещением директив нужно экспериментировать.
1. Настраиваем постраничные 301 редиректы
Это потребуется в следующих случаях:
- изменилась структура сайта и у страницы поменялся уровень вложенности;
- страница перестала существовать, но нужно сохранить ее входящий трафик (например, в случае отсутствия товара обычно делают переадресацию на товарную категорию);
- поменялся URL, что крайне нежелательно, но тоже встречается.
Просто удалить страницу — плохая идея, лучше не отдавать роботу ошибку 404, а перенаправить его на другой URL. В этом случае есть шанс не потерять позиции сайта в выдаче и целевой трафик. Настроить 301 редирект с одной страницы на другую можно при помощи директивы простого перенаправления:
- /page1/ — адрес страницы от корня, без протокола и домена. Например, /catalog/ofisnaya-mebel/kompjuternye-stoly/ .
- https://mysite.com/page2/ — полный адрес страницы перенаправления, включая протокол и домен. Например, https://dom-mebeli.com/ofisnaya-mebel/stoly-v-ofis/ .
2. Избавляемся от дублей
Каждая страница сайта должна быть доступна только по одному адресу. Для этого должны быть настроены:
- редирект на страницы со слешем в конце URL или наоборот;
- главное зеркало — основной адрес сайта в поиске.
Сделать это можно при помощи модуля mod_rewrite . В его составе используются специальные команды — директивы сложного перенаправления. Первой командой всегда идет включение преобразования URL:
Переадресация на слеш или наоборот
Настроить ли переадресацию на страницы со слешем или без, в каждом случае нужно решать индивидуально. Если у сайта уже накоплена история в поиске, анализируйте, каких страниц в индексе больше. Для новых сайтов обычно настраивают редирект на слеш. Проверить, не настроена ли переадресация по умолчанию, просто: удалите/добавьте слеш в конце URL. Если страница перезагрузится с новым адресом — мы имеем дубли, требуется настройка. Если URL подменяется — все в порядке. Проверять лучше несколько уровней вложенности.
Код 301 редиректа на слеш:
Код 301 редиректа на страницы без слеша:
3. Настраиваем главное зеркало
Для начала нужно определиться, какой адрес будет являться основным для поиска. SSL-сертификат давно уже мастхэв. Просто установите его и добавьте правило в .htaccess. Не забудьте также прописать его в robots.txt.
Редирект на HTTPS
Определять, с «www» или без будет главное зеркало, можно несколькими способами:
- добавить сайт в Яндекс.Вебмастер в двух вариантах, в консоли отобразится информация, какой URL поисковик считает главным зеркалом;
- проанализировать выдачу и посмотреть, каких страниц сайта больше в индексе;
- для нового ресурса не имеет значения, с «www» или без будет адрес, выбор за вами.
После того как выбор сделан, воспользуйтесь одним из двух вариантов кода.
Редирект с www на без www
Редирект с без www на www
4. Перенаправляем с одного домена на другой
Самая очевидная причина настройки этого редиректа — переадресовать роботов и пользователей на другой адрес при переезде сайта на новый домен. Также им пользуются оптимизаторы для манипуляций ссылочной массой, но дроп-домены и PBN — серые технологии продвижения, которые в рамках этого материала мы затрагивать не будем.
Воспользуйтесь одним из вариантов кода:
или
Не забудьте поменять в коде «mysite1» и «mysite2» на старый и новый домен соответственно.
Модуль SEO в системе Promopult: для тех, кто не хочет тонуть в рутине. Все инструменты для улучшения качества сайта и поискового продвижения, автоматизация процессов, чек-листы, подробные отчеты.
Обеспечиваем безопасность сайта
Файл .htaccess предоставляет большие возможности для защиты сайта от вредоносных скриптов, кражи контента, DOS-атак. Также можно защитить доступ к определенным файлам и разделам.
5. Запрещаем загрузку картинок с вашего сайта
Существуют технологии, при которых сторонние сайты используют контент, в том числе изображения, загружая его прямо с вашего хостинга путем хотлинков (прямых ссылок на файлы). Это не только обидно и нарушает авторские права, но и создает ненужную дополнительную нагрузку на ваш сервер.
Осадите воришек при помощи этого кода:
Заменяете «mysite.com» на адрес вашего сайта и создаете изображение с любым сообщением о том, что красть чужие картинки нехорошо, по адресу https://mysite.com/img/goaway.gif . Это изображение и будет показано на стороннем ресурсе.
6. Запрещаем доступ
Целым группам нежелательных гостей с определенных IP-адресов, подсетей, а также вредоносным ботам можно запретить доступ на ваш ресурс при помощи следующих директив в .htaccess.
Для нежелательных User Agents (ботов)
Список юзер-агентов можно дополнять, сокращать или создать свой. Перечень хороших и плохих ботов можно посмотреть здесь.
Частный случай такого запрета — запрет для поисковых роботов. Если вас почему-то не устраивает правило в robots.txt, можно запретить доступ, например, роботу Google при помощи таких директив:
Для всех, кроме указанных IP
Не забываем заменить «https://mysite.com» на адрес вашего сайта и вписать IP-адреса вместо IP1, IP2 и т.д.
Для определенных IP-адресов
Для подсети
Вписываем маску сети в строку после «deny from».
Спамные IP-адреса можно вычислить в логах сервера или с помощью сервисов статистики. В административной панели WordPress отображаются IP-адреса комментаторов:

К определенному файлу
Вписываем название файла вместо «myfile.html» в примере. Пользователю будет показана ошибка 403 — «доступ запрещен».
Не лишним будет ограничить доступ к самому файлу .htaccess из соображений безопасности, а также рекомендуем после настройки всех правил поставить на файл права доступа 444.
Для сайтов на WordPress важно ограничить доступ к файлу wp-config.php, т.к. в нем содержится информация о базе данных:
Для пользователей, пришедших с определенного сайта
Вы можете заблокировать посетителей с нежелательных ресурсов (например, со взрослым или шокирующим контентом).
7. Защищаем доступ к определенному файлу или папке
Для начала создайте файл .htpasswd, пропишите в нем логины и пароли в формате user:password и разместите в корне сайта. В целях безопасности пароли лучше зашифровать. Это можно сделать при помощи специальных сервисов генерации записей, например, такого. Следующим шагом добавьте директории или файлы в .htaccess:
Защита паролем файла
Защита паролем папки
Вместо «/pub/home/.htpasswd» укажите путь до файла .htpasswd от корня сервера. Рекомендуем проверить доступ после установки кода.
8. Запрещаем выполнение вредоносных скриптов
Следующая группа директив защищает сайт от так называемых «скриптовых инъекций» — инструмента хакерских атак:
Все попытки причинить вред вашему ресурсу будут перенаправлены на страницу ошибки 403 «доступ запрещен».
9. Защищаем сайт от DOS-атак
Один из способов защиты — ограничить максимально допустимый размер запроса (ограничение отсутствует по умолчанию).
Для этого прописываем в .htaccess размер загружаемых файлов в байтах:
В примере указан размер 10 Мбайт. Если вы хотите запретить загрузку файлов, пропишите число меньше 1 Мбайт (1048576 байт).
Также можно изучить возможности директив LimitRequestFields, LimitRequestFieldSize и LimitRequestLine в официальной документации.
Настраиваем отображение сайта
Посмотрим, что можно сделать с отображением всего ресурса или его разделов в браузерах пользователей при помощи .htaccess.
10. Заменяем индексный файл
Индексный файл — тот, что открывается по умолчанию при обращении к определенному каталогу. Обычно они называются: index.html, index.htm, index.php, index.phtml, index.shtml, default.htm, default.html.
Вот как это выглядит в структуре каталога:

Чтобы заменить этот файл на любой другой, размещаете в каталоге .htaccess и добавляете эту команду:
Вместо «hello.html» вписывайте адрес желаемого файла.
Можно задать последовательность файлов, которые будут открываться в указанном порядке, если один из них будет недоступен:
11. Добавляем или убираем html в конце URL
Сохранять или убирать расширение файлов в URL — дело вкуса каждого оптимизатора. Достоверных исследований влияния расширений в адресах на ранжирование ресурса нет, но каждый вебмастер имеет свое мнение по этому поводу.
Чтобы добавить .html:
Чтобы убрать .html:
Этими же директивами можно добавить/убрать расширение php.
12. Настраиваем кодировку
Чтобы избежать ошибок в отображении ресурса браузером, нужно сообщить ему, в какой кодировке создан сайт. Самые популярные:
- UTF-8 — универсальная
- Windows-1251 — кириллица
- Windows-1250 — для Центральной Европы
- Windows-1252 — для Западной Европы
- KOI8-R — кириллица (КОИ8-Р)
Чаще всего используют UTF-8 и Windows-1251.
Если кодировка не указана в метатеге каждой страницы, можно задать ее через .htaccess.
Пример директивы, которая задает для файла кодировку UTF-8:
А такая команда означает, что все загружаемые на сервер файлы будут преобразованы в Windows-1251:
В примерах приведены разные кодировки, но в рамках одного сайта кодировки в этих директивах должны совпадать.
13. Создаем кастомные страницы ошибок
При помощи правил в .htaccess можно настроить отображение специально созданных страниц для самых популярных ошибок, например:
Перед тем, как прописывать директивы, создайте в корне сайта папку error и разместите туда соответствующие файлы для страниц ошибок.
Зачем это нужно? Например, чтобы не потерять пользователя на странице 404, а дать ему возможность перейти в другие разделы сайта:

Оптимизируем работу сайта
Скорость загрузки сайта — один из факторов ранжирования в поисковых системах. Увеличить ее можно в том числе с помощью директив в .htaccess.
14. Сжимаем компоненты сайта при помощи mod_gzip или mod_deflate
Сжатие файлов, с одной стороны, увеличивает скорость загрузки сайта, но с другой — больше нагружает сервер. В .htaccess можно включить сжатие при помощи двух модулей — mod_zip и mod_deflate. Они практически идентичны по качеству сжатия.
Синтаксис модуля Gzip более гибкий и он умеет работать с масками:
В mod_deflate вы перечисляете типы файлов, которые нужно сжать:
15. Усиливаем кэширование
Этот комплекс команд поможет быстрой загрузке сайта для тех посетителей, которые уже на нем были. Браузер не будет заново скачивать картинки и скрипты с сервера, а использует данные из кэша.
В примере срок жизни кэша ограничен одной неделей («1 week»), вы можете указать свой срок в месяцах (month), годах (year), часах (hours) и т.д.
Другой вариант кода:
Для кэширования доступны следующие типы файлов:
- 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.
Еще несколько возможностей
16. Управляем настройками php
Этот комплекс настроек выполняют программисты, если нет доступа к файлу php.ini. Остановимся на выражениях php_value, которые отвечают за объем загружаемых на сайт данных и время обработки скриптов, т.к. это напрямую влияет на производительность.
В строке «upload_max_filesize» указываете максимальный размер загружаемых файлов в мегабайтах, «post_max_size» означает максимальный объем постинга, «max_execution_time» указывает время в секундах на обработку скриптов.
17. Боремся со спам-комментариями на WordPress
Для того, чтобы перекрыть доступ спамерам к файлу wp-comments-post.php, добавьте эти директивы в .htaccess:
Вместо «mysite.com» впишите адрес вашего сайта.
18. Устанавливаем e-mail для администратора сервера
Этот код в .htaccess установит e-mail администратора по умолчанию. На него будут приходить уведомления, связанные с важными событиями на сервере.
19. Предупреждаем о недоступности сайта
В ситуации, когда сайт недоступен по техническим причинам, можно перенаправить пользователей на страницу с информацией о том, когда работа будет восстановлена. Лучше избегать таких перерывов, но в форс-мажорных обстоятельствах добавляйте следующие директивы в .htaccess:
IP-адрес в примере (12\.345\.678\.90) замените на свой, в последней строке укажите адрес страницы вашего ресурса с информацией о характере и сроках завершения работ.
Использование файла .htaccess для управления настройками сайта
Чтобы сайт функционировал, необходим веб-сервер ー программное обеспечение (ПО), обеспечивающее доступ к данным протоколов http и https.
Самый распространенный из них ー Apache. Он настраивается через конфигурационные файлы в формате текста. К главному из них ー httpd.conf или apache.conf ー доступ есть не у всех пользователей сервиса, поэтому остальным предлагается .htaccess настройка.
Что такое .htaccess
.htaccess ー это файл веб-сервера, который позволяет управлять настройками сайта и работой сервера, не изменяя при этом конфигурационного файла.
В каком-то смысле он напоминает менеджера, который управляет работой в офисе, не обращаясь по каждому мелкому вопросу к начальнику.
Благодаря работе с .htaccess можно:
- настроить редирект;
- изменить страницы ошибок;
- сделать сайт безопаснее;
- увеличить скорость работы сайта;
- настроить php параметры.
Где находится файл .htaccess
.htaccess располагается в корневой папке. Однако найти его бывает не так-то просто: из-за того, что у него нет названия, а есть лишь расширение после точки, он может оказаться невидимым для обычного пользователя, а значит, тот не сможет его изменить.
В этом случае нужно зайти в менеджер файлов в папку public_html, внести изменения в .htaccess с помощью текстового редактора и сохранить. Если и там вам не удастся его найти — смело создавайте собственный.
Важно! В этом случае может выйти ошибка из-за того, что недорогие хостинги запрещают клиентам создавать и вносить изменения в .htaccess. Делается это с целью заставить вас приобрести более дорогостоящий тариф.
В некоторых системах управлением содержимым ー Content Management System (CMS) ー можно найти .htaccess в административной панели. Пример из Битрикса:

Как проверить, работает ли .htaccess
Все очень просто: достаточно в файл добавить любое слово, сохранить и загрузить измененный файл вместо исходного. Так как новый файл будет с ошибкой, то сайт должен перестать работать.
Если этого не произойдет, значит .htaccess не функционирует. В случае нормального функционирования выйдет ошибка 500 Internal Server Error.
Как создать
Создать .htaccess можно в любом текстовом редакторе, например «Блокнот» Microsoft или Notepad++.
Последний предпочтительнее, так как в «Блокноте» при сохранении файла в кодировке UTF-8 может присутствовать маркер последовательности байтов (ВОМ-сигнатуры) ー специальный символ, который вставляется в начало текстового файла. Это может повлечь за собой проблемы в раскодировке информации.
Для создания .htaccess открываем пустой файл в редакторе, нажимаем «Файл» -> «Сохранить как», а затем называем его .htaccess и ставим тип файла «Все файлы». Далее сохраняем и размещаем его в корневом каталоге сайта.
Прежде чем приступать к редактированию, проверьте, не выдает ли сервер ошибку 500.
Работа с файлом .htaccess
Далее .htaccess можно использовать для настройки редиректа, устранения ошибок на страницах, настройки безопасности сайта и оптимизации его работы, а также параметров php.
Правильный 301 редирект
Это делается для того, чтобы редирект работал. Далее в зависимости от нужд:
- Перенаправление с одной страницы на другую (или сайт):
Redirect 301 /старая-страница.html http://сайт.рф/новая-страница.html
- Перенаправление с сайта с www на сайт без www:
RewriteCond %
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
- Редирект пользователей с одного сайта на другой:
- Перенаправление с одного раздела на другой:
RewriteRule ^blog/raznoe/(.*)$ http://site.ru/blog/$1 [R=permanent,L]
- Перенаправление при смене домена:
RewriteCond %
RewriteCond %
RewriteRule ^(.*)$ http://newsite.com/$1 [R=301,L]
Правильное изменение страниц ошибок
Коды ошибок с 400 по 599 указывают на неправильную работу сервера, но рядовому пользователю они ни о чем не говорят. Увидев непонятный текст, он может решить, что сайт прекратил свою работу, и больше на него не вернуться.
Чтобы не терять посетителей, необходимо создать для этого отдельную страницу, которая вежливо сообщает человеку, что он попал не туда, и перенаправляет по нужному адресу:

После этого добавляем в .htaccess код по примеру:
ErrorDocument 404 http://yoursite.com/404.html
Настройки безопасности сайта
Код отличается в зависимости от того, что именно вы хотите сделать и как обезопасить ваш сайт.
При защите от скриптинговых атак
Скриптиновая атака ー это внедрение вредоносного кода в страницу сайта злоумышленником.
- для отслеживания символических ссылок (обманка, которая заставляет систему думать, что файл настоящий, хотя на самом деле это не так) включаем:
- для блокировки ссылок со <script>:
- для скриптов, пытающихся изменить переменные PHP Globals (дают доступ ко всей программе):
- чтобы заблокировать скрипты, пытающиеся изменить переменную _REQUEST (переменная запросов):
- чтобы перенаправить все скриптовые инъекции на страницу с ошибкой 403 (запрещено):
RewriteRule ^(.*)$ index.php [F,L]
Для защиты от кражи картинок
Это делается для того, чтобы злоумышленники не использовали путь к картинке на вашем сайте на своих собственных страничках. Так они могут экономить свой трафик за счет вашего: содержание загружается с их сервера, в то время как изображение — с вашего.
Для этого нужно создать картинку с надписью, запрещающую кражу иллюстраций и прописать ее путь. Пример кода, который вставляем:
RewriteCond %
RewriteRule .*.(gif|jpg|png)$ http://yoursite.com/images/stop_stealing.gif[nc]
Заблокировать доступ к сайту
- для конкретного IP:
deny from 164.186.15.116
deny from 124.153.34.144
- для всех IP, кроме желаемых:
ErrorDocument 403 http://www.yoursite.com
Allow from 164.186.15.116
Allow from 124.153.34.144
- чтобы запретить доступ к папке:
Options All -Indexes
- чтобы запретить доступ к файлу:
- чтобы запретить доступ к файлам определенного вида:
- чтобы заблокировать расширения:
SetEnvIfNoCase user-Agent ^Zeus [NC]
Deny from env=bad_bot
Оптимизация работы сайта
Ускорение работы с сайта за счет сжатия информации
Используем один из трех кодов и проверяем, какой работает лучше:
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
mod_gzip_item_include file \.js$
mod_gzip_item_include file \.css$ </ifmodule>
FileETag MTime Size
ExpiresDefault «access plus 1 month»
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.*
Улучшение кэширования
Увеличивает скорость загрузки просмотренных страниц и снижает нагрузку на сервер за счет того, что не загружает повторно уже просмотренные картинки, элементы дизайна и пр. Используем один из двух, кодов, который будет работать лучше:
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»
FileETag MTime Size
ExpiresDefault «access plus 1 month»
Настройка php параметров
PHP ー это язык программирования, на котором написаны интернет-странички. Обычно настройки выполняются через файл php.ini, однако на виртуальном хостинге доступа к нему обычно не бывает.
Поэтому можно использовать файл .htaccess, чтобы, например, увеличить лимит данных, загружаемых на сайт и время обработки скриптов. Делается это для улучшения производительности.
Для этого необходимо обратиться к выражениям php_value:
php_value upload_max_filesize 125M
php_value post_max_size 20M
php_value max_execution_time 60
При этом в upload_max_filesize указываем максимальный размер загружаемых файлов(в мегабайтах), в post_max_size — максимальный объем постинга, а в max_execution_time — время на обработку скриптов (в секундах).
Какое влияние оказывает htaccess файл на сайт
.htaccess ー один из важнейших инструментов, обеспечивающих полноценную работу сайта на виртуальном хостинге. Он позволяет вносить повышать скорость и производительность сайта, а также защищать его от внешних вторжений, не влияя при этом на работу сервера.
Пользуетесь .htaccess? Расскажите в комментариях, чем именно он вам помогает!
Файл .htaccess в WordPress: что это такое и для чего он нужен
В этой статье я расскажу, что такое файл .htaccess. А также о том, как с его помощью повысить скорость и безопасность сайта, работающего на WordPress.
Что такое файл .htaccess в WordPress?
Основная цель файла .htaccess – определить правила для веб-сервера Apache по работе с сайтом на WordPress. По умолчанию .htaccess в WordPress управляет отображением постоянных ссылок на сайте. Но с помощью файла .htaccess можно сделать гораздо больше.
Прежде чем мы начнем
Редактировать файлы WordPress без создания резервной копии не рекомендуется. Для этого можно использовать один из следующих вариантов:
- Автоматическое резервное копирование сайта на WordPress .
- Создание локальной копии сайта WordPress.
- Создание тестовой версии сайта.
- Создание копии текущей версии файла .htaccess — вы можете создавать резервные копии файла .htaccess перед внесением каких-либо изменений.
Как получить доступ к файлу .htaccess
Файл .htaccess располагается в корневом каталоге WordPress-сайта. Для доступа к нему можно использовать FTP-клиент, такой как FileZilla . По умолчанию этот файл является скрытым. Чтобы включить просмотр скрытых файлов в FileZilla, выполните следующие действия:
- Откройте FTP-клиент FileZilla и подключитесь к серверу.
- Перейдите в корневой каталог WordPress.
- В верхней части экрана выберите «Сервер».
- Затем пункт «Принудительно показать скрытые файлы».

Если вы все еще не видите .htaccess, это означает, что на сайте нет этого файла. Чтобы создать его, в панель администрирования WordPress в « Настройки»> «Постоянные ссылки» и нажмите кнопку «Сохранить изменения» .

После обновления состояния FTP-клиента, вы увидите файл .htaccess с кодом по умолчанию.

Что можно сделать с помощью файла .htaccess
Теперь пришло время разобраться с тем, какие правила можно определить в файле .htaccess для WordPress. Я разобью эти правила на три основные категории:
- Правила редиректов.
- Для повышения скорости работы WordPress.
- Обеспечение безопасности сайта.
Настройка редиректов
Рассмотрим наиболее распространенные правила редиректов:
301 (постоянный редирект)
Правило 301 редиректа сообщает браузеру и поисковым роботам, что URL был окончательно перемещен на другой URL. Пример правильного перенаправления:
302 (временный) редирект
Если нужно временно перенаправить пользователей на другую страницу, используйте 302 редирект:
Перенаправление к www версии URL-адресов
Если нужно, чтобы URL-адреса сайта всегда начинались с www, используйте следующий код:
Перенаправление к не-www версии URL-адресов
Перенаправление URL-адресов на HTTPS
Чтобы перенаправить пользователей и поисковых роботов на HTTPS-версию сайта используйте следующий код:
Перенаправление URL-адресов на HTTP
Для принудительной установки не HTTPS-соединений на сайте используйте следующий код:
Перенаправление домен на подкаталог
Чтобы перенаправить домен на подкаталог, используйте следующее правило:
Перенаправление основного домена на другой домен
Чтобы перенаправить несколько доменных имен (например, abc.com, abc.net, abc.org) на один домен, используйте следующее правило:
Добавьте приведенное выше правило для доменов abc.net и abc.org, чтобы перенаправить их на abc.com.
Удаление строки Query_String
URL-адреса сайта отображают тот же контент при доступе с добавлением запроса. Например, веб-страница myblog.com также доступна по адресу myblog.com/?my=query. Это может привести к дублированию контента при сканировании сайта поисковыми роботами.
Чтобы решить данную проблему, удалите из URL-адреса строки запроса с помощью следующего кода:
Установка языковой переменной на основе клиента
Чтобы определить язык браузера и перенаправить пользователя к соответствующей версии сайта, добавьте приведенное ниже правило в файл .htaccess.
Перенаправление фидов WordPress на Feedburner
WordPress по умолчанию генерирует RSS-каналы для записей. Чтобы использовать сторонний генератор RSS-каналов (например, Feedburner) добавьте следующий код:
Оптимизация скорости работы WordPress с помощью правил .htaccess
Файл .htaccess содержит правила кэширования. С их помощью можно оптимизировать скорость работы WordPress-сайта.
Установка заголовков Expires для кеша браузера
Многие браузеры временно кэшируют CSS, JavaScript, HTML и некоторые мультимедийные файлы, такие как иконки часто посещаемых сайтов. Если эти элементы на сайте меняются не часто, можно увеличить срок действия этих ресурсов:
Включение Gzip-сжатия
Чтобы самостоятельно активировать GZIP-сжатие на WordPress-сайте, добавьте приведенное ниже правило в файл .htaccess.
Увеличение максимального размера загружаемого файла
По умолчанию размер загружаемого файла в WordPress составляет от 10 до 25 МБ. Чтобы загружать более объемные файлы, используйте приведенный ниже код:
Повышение безопасности сайта на WordPress
Правила .htaccess позволяют ограничить доступ пользователей к определенным URL-адресам, файлам и сделать многое другое.
Защита файла .htaccess
Чтобы запретить доступ к файлу .htaccess, добавьте приведенное ниже правило:
Ограничение доступа к панели администрирования WordPress
Чтобы ограничить доступ к панели администрирования CMS, создайте новый файл .htaccess, поместите его в папку /wp-admin и добавьте в него приведенный ниже код:
Примечание : xx.xx.xx.xx — только с этого IP-адреса пользователь сможет войти в панель администрирования WordPress.
Защита паролем одного файла
Вы можете защитить файл паролем, используя приведенные ниже правила .htaccess.
Защита важных файлов
Чтобы защитить файлы php.ini и wp-config.php, используйте приведенные ниже правила для ограничения доступа:
Защита папки /wp-content
Папка /wp-content содержит файлы темы оформления, изображения и кэшированные файлы. Чтобы заблокировать доступ к ним, используйте следующий код:
Блокировка IP-адресов
Блокировка доступа к определенным файлам
Также можно заблокировать доступ к определенным файлам, используя приведенный ниже код.
Блокировка хотлинкинга файлов, изображений и кражи ресурсов пропускного канала
Чтобы предотвратить хотлинкинг, используйте приведенное ниже правило .htaccess.
Заключение
Файл .htaccess является одним из наиболее важных инструментов конфигурации WordPress. Правильное его использование позволяет повысить уровень безопасности сайта и повысить скорость его работы.
Пожалуйста, опубликуйте свои мнения по текущей теме статьи. Мы крайне благодарны вам за ваши комментарии, отклики, дизлайки, подписки, лайки!
Дайте знать, что вы думаете по данной теме материала в комментариях. За комментарии, дизлайки, отклики, подписки, лайки огромное вам спасибо!