Файл htaccess – что это, где он находится и зачем нужен

Доброго времени суток, дорогие читатели!
Сегодня мы расскажем про файл .htaccess, который выполняет очень важную роль на сайте. Именно через этот конфиг вы настраиваете различные редиректы, прописываете используемый протокол и решаете другие важные задачи. Без него нормальный ресурс просто не будет работать должным образом.
В материале мы поговорим об этом чуть подробнее. Также расскажем, как создать и настроить этот конфиг. Давайте начинать!
Что такое .htaccess
Этот файл очень важен для любого сайта, потому что именно с его помощью выполняется настройка ключевых параметров. Для статейных ресурсов конфиг тоже имеет большое значение: в нём есть функции, которые помогают корректировать работу ресурса.
Если вы оптимизируете сайт под поисковые системы, тщательная настройка .htaccess становится неотъемлемой частью процесса. С помощью этого файла вы управляете конфигурацией сервера, на котором расположен ваш проект. Делается это при помощи специальных команд, которые вносятся напрямую в конфиг.
.htaccess — это обычный конфигурационный файл, где содержатся настройки определённого типа. Обычно там размещают информацию о редиректах (например, переадресацию на защищённый протокол HTTPS), параметры сервера и компонентов, которые на нём установлены.
Также с его помощью можно настраивать доступ к файлам сайта, изменять параметры перенаправления на страницу 404, блокировать определённые IP-адреса и многое другое.
Чаще всего .htaccess создаётся автоматически. Например, если вы установите WordPress на виртуальный хостинг, этот конфиг появится сам собой, так как платформой предусмотрено использование параметров из базовой версии файла. Обычно там указываются стандартные рекомендованные настройки хостинга для комфортной работы CMS.

В других платформах и CMS .htaccess тоже часто создаётся автоматически — с теми параметрами, которые нужны для комфортной работы системы.
Если говорить конкретно о WordPress, то чаще всего прямая настройка данного конфига не требуется. Стандартный вариант подходит для большинства ресурсов. Иногда изменения в этот конфиг вносят различные плагины или сам WordPress при изменении настроек. Сам пользователь обычно даже не подозревает о существовании такого файла.
В некоторых случаях этот файл нельзя изменить. Обычно подобное встречается на дешёвых маломощных серверах, где владельцы пытаются взимать дополнительную плату даже за возможность редактирования .htaccess. Сайт не будет адекватно работать на таком хостинге, потому что иногда действительно требуется изменение конфига.
Если же сделать это нельзя, вы просто не сможете установить нужный плагин, настроить редирект или прописать любой другой параметр. Лучше всего найти нормальный хороший хостинг по приемлемой цене, чтобы подобных проблем не возникало.

- Настраивать редиректы (переадресацию) на различные адреса вашего ресурса. Пользователь будет заходить по одному адресу, а его переадресуют на другой. Это полезно, когда у документа (статьи или страницы) сменился URL и вы не хотите, чтобы посетители получали ошибку 404.
- Настраивать редиректы на другие домены. Это может понадобиться, если вы хотите перенести ресурс на другой домен, но при этом не хотите терять существующую аудиторию. Через .htaccess можно настроить простую переадресацию на новый домен.
- Сделать переадресацию на домен с www или без него. По умолчанию многие проекты доступны по нескольким вариантам одного домена. Например, условный site.ru можно открыть как с www, так и без него. Это порождает лишние дубли и негативно влияет на поисковое продвижение. С помощью конфига вы сможете настроить переадресацию на основной вариант.
- Выполнить редирект на HTTPS. После установки SSL-сертификата ресурс будет доступен по четырём разным вариантам адреса. К предыдущему пункту добавится версия с HTTPS-протоколом. .htaccess поможет сделать основной только одну версию — сразу с нужным протоколом.
- Настроить кэширование файлов вашего ресурса. Этот шаг необходим для ускорения работы проекта. С помощью конфига вы сможете включить кэширование, тогда информация будет сжиматься до оптимальных размеров и подаваться пользователям в упрощённом виде. Кэширование важно для SEO и снижает нагрузку на хостинг.
- Сделать ЧПУ-ссылки. Обычно файлы ресурса имеют ссылки, которые сложно запомнить. С помощью .htaccess можно создать понятные человеку варианты, состоящие из слов на латинице. В WordPress для этого достаточно активировать нужный параметр в настройках, а в самописных сайтах придётся делать это самостоятельно через конфиг.
- Блокировать доступ с определённых IP-адресов. Часто на сайты нападают злоумышленники, которые спамят флудом или активируют ботов. Используя команды в .htaccess, вы сможете блокировать IP-адреса спамеров и создавать закрытые ресурсы, доступные только по белому списку.
- Регулировать поведение поисковых роботов. Обычно параметры для поисковиков настраиваются через robots.txt, но в .htaccess также можно указать несколько настроек для управления роботами.
- Настраивать доступ к определённым файлам и папкам. Вы можете устанавливать пароли на директории и файлы, чтобы контролировать посещаемость и защищать проект от атак хакеров.
- Устанавливать более тонкие настройки сервера. Например, менять лимиты на загрузку конфигов и другие параметры с помощью команд.

Есть и другой файл, который содержит уже все параметры сервера. Доступ к нему имеют только администраторы хостинга. Простой вебмастер не сможет получить к нему доступ.
Однако с помощью .htaccess вебмастер всё же может влиять на работу сервера, используя простые команды. Этот файл нужен именно для таких задач: он позволяет настраивать параметры на арендованном хостинге без риска сломать сервер.
Все параметры конфига имеют вид «ключ — значение». Обычно .htaccess помещается в корень ресурса. Если переместить его в подкаталог, настройки будут действовать только на него и вложенные папки.
Где расположен .htaccess
Обычное расположение этого документа — корень сайта. Чтобы обнаружить файл, достаточно зайти в файловый менеджер хостинга или воспользоваться FTP-клиентом.
.htaccess будет расположен прямо в корне (/public_html на виртуальном хостинге). Его можно открыть любым текстовым редактором.

Для редактирования конфига на хостинге Timeweb достаточно кликнуть по нему несколько раз — он откроется во встроенном редакторе.
Также вы можете скачать файл и открыть его на своём компьютере.
Если вы работаете с WordPress, заходить на хостинг необязательно. Достаточно зайти в настройки плагина Yoast SEO, перейти во вкладку «Инструменты» — содержимое конфига будет доступно прямо там. Все изменения автоматически сохранятся в файл.

Такой вариант удобнее, хотя не все используют Yoast SEO. В других SEO-плагинах также есть похожие возможности.
Этот файл не всегда присутствует на молодых проектах. Если вы недавно создали сайт, то можете не обнаружить документ. В таком случае его можно создать самостоятельно. У конфига нет расширения — только название .htaccess.
Его можно сделать через встроенные инструменты хостинга или создать на компьютере и загрузить через FTP-клиент .
В некоторых случаях документ нельзя загрузить или создать. Это значит, что хостинг не поддерживает .htaccess. В таком случае рекомендуется сменить провайдера.
Создаём .htaccess на компьютере
Для создания файла подойдёт любой текстовый редактор. Можно воспользоваться даже стандартным Блокнотом в Windows.
Кликните правой кнопкой мыши на рабочем столе, выберите «Создать» → «Текстовый документ». Откройте файл и ничего не вводите.
Затем перейдите в меню «Файл» → «Сохранить как». Выберите папку, введите имя файла и тип «Все файлы».

В поле «Имя файла» введите «.htaccess». Нажмите «Сохранить». Обратите внимание, что файл не должен иметь расширение .txt.
Примеры команд
Теперь рассмотрим наиболее популярные примеры использования команд. Они работают как для HTML-сайтов, так и для проектов на CMS. Каждая команда может сломать сайт, поэтому будьте максимально аккуратны.
Переадресация
С помощью переадресации можно отправлять пользователей с одного адреса на другой. Команда выглядит так:
Redirect 301 /старый_адрес.html http://www.site.ru/новый_адрес.html
Вы можете менять значения, выделенные жирным. Всего есть четыре типа редиректов:
- 301 — документ перемещён навсегда.
- 302 — документ перемещён временно.
- 303 — смотрите другие документы ресурса.
- 410 — документ был безвозвратно удалён.
Mod_rewrite — настройка сложных редиректов
Это специальный модуль, который позволяет настраивать переадресацию на определённый протокол или домен. Работает только на серверах Apache.
- Основное зеркало.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Вместо site.ru укажите свой домен. После добавления этих строк сайт будет перенаправлять пользователей с www на основную версию.
- Редирект на HTTPS.

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
- Редирект на другой домен.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ https://new-site.ru/$1 [R=301,L]
- Запрет индексирования для определённого поискового робота.
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} Googlebot
RewriteRule .* - [F]

Заключение
Как видите, .htaccess — это важный файл, который помогает контролировать работу сервера. С его помощью можно настраивать редиректы, кэширование, ЧПУ и другие параметры, без которых не обходится ни один современный сайт.
Настройка конфига требует понимания: при ошибке сайт может перестать открываться. В таком случае нужно зайти на хостинг и вернуть предыдущую версию файла.
До новых встреч!
Подпишитесь на рассылку
Получайте свежие новости Web3, AI и криптовалют прямо на вашу почту.