ГлавнаяБлогФайл .htaccess: базовые правила работы
Файл .htaccess
3 118
Время чтения: 14 минут

Файл .htaccess: базовые правила работы

3 118
Время чтения: 14 минут
Сохранить статью:
Сохранить статью:

Что это? .htaccess – служебный файл, необходимый для работы с настройками сервера. Используя его, вы не копаетесь в настройках самого сервера, а вносите изменения в директории сайта.

Как работать? Для работы с файлом на базовом уровне необходимо изучить его простой синтаксис и выучить несколько самых распространенных переменных. С опытом придет более глубокое понимание, и вы сможете решать куда более сложные задачи.

В статье рассказывается:

  1. Что такое .htacces
  2. Применение .htaccess
  3. Пошаговая инструкция создания файла .htaccess
  4. Синтаксис .htaccess
  5. Работа с .htaccess
  6. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.
    Бесплатно от Geekbrains

Что такое .htacces

Служебный файл с таким именем хранит расширенные параметры работы с веб-серверами (Apache и т. п.). Он необходим для корректного функционирования любого сайта.

Находясь в корневой папке, .htaccess оказывает влияние и на содержимое, расположенное во всех вложенных папках. Для индивидуальной настройки какого-то подкаталога необходимо туда поместить отдельный файл с соответствующими настройками.

Тогда именно данный документ будет более приоритетным, нежели общий. Управлять всеми файлами, загруженными на сервер, можно с помощью файлового менеджера с FTP-клиентом (FileZilla, Total Commander и др.). Также подобную возможность предоставляют некоторые хостинг-провайдеры через встроенную панель управления.

Что такое .htacces
Что такое .htacces

Файл .htaccess позволяет обычному пользователю (не администратору) вносить изменения в настройки ресурса. Этой возможностью пользуются, например, SEO-оптимизаторы и программисты. Основной настроечный файл httpd.conf защищен правами доступа и доступен для редактирования лишь администратору сайта, так как производимые изменения напрямую влияют на жизнеспособность ресурса.

Документ .htaccess дополняет этот файл, снимая таким образом часть ограничений. Причем произведенные в этом документе изменения вступают в силу сразу после его загрузки на сервер. А в случае правки параметров httpd.conf сервер потребуется перезагрузить.

Применение .htaccess

Перенаправления

Одна из часто используемых функций файла .htaccess — перенаправление посетителей на другие страницы или домены. Это наиболее простой способ перенаправить трафик, поскольку он реализуется до обработки запроса сервером. Имеется возможность организовать временное или постоянное перенаправление путем прописывания соответствующего кода в файле .htaccess:

Redirect 301 / http://site.com/ (всегда перенаправляет посетителя на site.com)

Redirect 302 / http://site.com/ (перенаправление на указанный сайт временное)

Блокировка доступа

С помощью настроек файла также блокируется доступ к ресурсу для указанного IP-адреса или диапазона адресов. Таким образом зачастую запрещаются любые запросы со стороны поисковых роботов.

deny from 146.0.71.199 (блокировка для IP-адреса 146.0.71.199)

Автоматическое подключение файлов

Благодаря использованию возможностей SSI (Server Side Include) и прописанным инструкциям в .htaccess html или php файлы будут подключены автоматически. При этом они добавляются в начало или конец документа исключительно по запросу пользователя, а в самом документе заранее не подключаются.

Узнай, какие ИТ - профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

pdf 3,7mb
doc 1,7mb
Уже скачали 28252 pdf иконка

php_value auto_prepend_file «/mysite/functions.php» (подсоединение файла functions.php из каталога /mysite к началу документа)

php_value auto_append_file «/mysite/footer.html» (подсоединение файла footer.html из каталога /mysite к концу документа)

Настройка страниц с ошибками

На указанные в файле .htaccess страницы посетитель будет перенаправляться, если на сервере возникают определенные ошибки.

ErrorDocument 404 /notfound.html (перенаправление пользователя на notfound.html в случае появления ошибки 404)

ErrorDocument 500 /server.html (перенаправление пользователя на server.html в случае появления ошибки 500)

Кэширование

Для управления процессом кэширования также используется файл .htaccess. Это позволяет браузеру быстрее загружать страницы сайтов, а серверу — снижать количество передаваемой информации.

Помимо указанных основных возможностей существуют дополнительные функции данного документа. Перечислим их ниже.

  • Исправление кодировки

Кодировка определяет формат печатных символов, которые видит пользователь и воспринимает как текст. Чаще всего используются UTF-8 и Windows-1251. Нечитаемые символы означают, что установлена неверная кодировка. Исправляется эта проблема с помощью файла .htaccess.

  • Изменение главной страницы

По умолчанию главной назначается страница, содержащаяся в индексном файле. Именно ее видит пользователь в первую очередь, когда заходит на сайт. Для явного определения другой страницы в качестве главной используется файл .htaccess.

Изменение главной страницы
Изменение главной страницы
  • Создание семантического URL

Иногда слишком длинный и содержащий числа адрес требуется преобразовать в человекопонятный вид, так как иначе снижаются показатели поисковой оптимизации вследствие влияния URL на пользовательский фактор. Для этого в документ .htaccess добавляется одна команда, в которой текущему URL-адресу назначаются любые латинские символы.

  • Установка пароля на каталог

Папка, содержащая конфиденциальные сведения, требует дополнительной защиты паролем. Настройка базовой аутентификации через файл позволяет повысить безопасность хранения данных при попытках взлома сайта.

  • Настройка параметров PHP

Данный язык программирования в большинстве случаев применяется в рамках разработки динамических сайтов. Настройка языка производится в файле php.ini, однако через .htaccess PHP также может быть настроен в качестве отдельного модуля. Последний способ удобен, так как управление конфигурацией осуществляется в одном файле.

  • Ограничение доступа к ресурсу

Как уже упоминалось, документ позволяет закрыть доступ к сайту с определенных IP-адресов. Благодаря этому обеспечивается защита от возможных хакерских атак. Например, сервер становится уязвимым при DdoS-атаках, когда процессор не в состоянии обработать огромное число запросов, поступающих с одного или нескольких IP.

  • Ограничение доступа для поисковых роботов

Поисковые боты индексируют сайты, собирая необходимую для этого информацию. В итоге индексируемые ресурсы появляются в поиске. Но существуют также нежелательные роботы (например, SolomonoBot). С помощью файла .htaccess сайт можно закрыть для определенных ботов, указанных по User-Agent.

Итак, перечисленный функционал дает пользователю возможность тонко настраивать сайты, не изменяя при этом общие параметры сервера. Оптимизаторам также можно давать доступ к единому конфигурационному файлу, через который они могут свободно менять настройки SEO.

Пошаговая инструкция создания файла .htaccess

При разработке сайта средствами CMS данный файл создается автоматически. Он расположен в корневом каталоге, доступ к нему можно получить через панель управления хостинг-провайдера. Обычно файл не содержит ничего кроме закомментированных строк.

Пошаговая инструкция создания файла .htaccess
Пошаговая инструкция создания файла .htaccess

Нужно иметь в виду, что панель управления cPanel по умолчанию скрывает все файлы с точкой спереди, включая .htaccess. Их отображение нужно включить, следуя инструкции.

Дарим скидку от 60%
на обучение «Разработчик» до 26 мая
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку

Если сайт создается вручную, этот файл, как и любой другой, можно создать самостоятельно на компьютере, а после загрузить на хостинг. В среде Windows это делается крайне просто:

  1. Нужно открыть любой простейший текстовый редактор (например, Блокнот).
  2. Далее пустой файл следует сохранить путем нажатия комбинации Ctrl + Shift + S или выбора пункта «Сохранить как…» в меню «Файл».
  3. В соответствующее поле вписывается имя .htaccess, файл сохраняется. Перед этим нужно включить отображение всех файлов в поле «Тип файла».
В конце имени может автоматически появиться стандартное расширение txt. Его нужно удалить, открыв Проводник и сняв галочку около пункта «Расширения имен файлов» во вкладке Вид.

Готовый .htaccess без расширения txt загружается на хостинг в корневой каталог сайта. В панели управления провайдера для этого нужно проделать следующее:

  1. В подразделе «www» раздела «Менеджер файлов» выбирается зарегистрированный домен.
  2. Открывается окно загрузки путем нажатия на кнопку «Загрузить», расположенную сверху на панели иконок.
  3. В окне выбирается недавно созданный файл и загружается нажатием на кнопку ОК.

Синтаксис .htaccess

Встроенный язык настроек весьма прост. Каждая команда должна занимать отдельную строку. Комментарии обозначаются спереди символом #. Они помогают другим разработчикам и SEO-оптимизаторам понять смысл той или иной директивы. Все, что находится правее «решетки», игнорируется сервером и не воспринимается как команда.

Только до 20.05
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300

Чтобы включить .htaccess, достаточно сохранить его на сервере. Все содержащиеся в файле команды сразу начнут выполняться.

Сам синтаксис директив построен на регулярных выражениях, использующих специальные символы и переменные. Полный их список представлен в официальной документации. Здесь же приведем базовые символы:

  • ^ — начало строки;
  • $ — конец строки;
  • . — любой символ, за исключением $;
  • — любое количество символов;
  • ? — один определенный символ;
  • [0-9] — любая цифра;
  • [a-z] — любая буква латиницы;
  • | — оператор «или» для выбора одной группы из двух;
  • () — оператор группировки символов.

Перечислим базовые переменные:

  • %{HTTP_USER_AGENT} — сведения об используемом браузере и операционной системе (передается значение из поля User-agent браузера);
  • %{REMOTE_ADDR} — IP-адрес пользователя;
  • %{REQUEST_URI} — запрашиваемый идентификатор URI;
  • %{QUERY_STRING} — параметры запроса после символа «?».

Работа с .htaccess

Выше мы описали операции создания файла и загрузки его на хостинг. Далее разберем, как сделать .htaccess работоспособным, используя перечисленные параметры конфигурирования.

Работа с .htaccess
Работа с .htaccess

Итак, в файле .htaccess настройка сайта ведется указанием команд, включающих в себя буквы латинского алфавита и спецсимволы. Каждая директива имеет неизменяемую часть (ключ) и переменную (значение). Команда, переназначающая главную страницу, выглядит так:

  • DirectoryIndex index.php
Ключом здесь служит DirectoryIndex, а значением — index.php (страница, назначенная главной на конкретном сайте).

Добавить любую команду в конфигурационный файл очень просто. Для этого нужно:

  • открыть существующий файл в корневом каталоге (или создать в нужном подкаталоге новый, чтобы действие директивы распространялось только на содержимое этой папки);
  • скопировать требуемую команду из источника и добавить ее в конфигурацию;
  • в самой директиве поменять параметры сайта на актуальные (доменное имя, страницу и т. д.);
  • закрыть файл, сохранив предварительно изменения.

В процессе редактирования нужно внимательно вставлять и исправлять команды. Некорректная их работа может привести к сбою функционирования всего сайта.

Далее покажем примеры наиболее часто применяемых операций с использованием данного конфигурационного файла.

Ограничение доступа к сайту, конкретному каталогу или отдельному файлу

Во время технических работ сайт может работать нестабильно. С помощью директив .htaccess доступ к такому ресурсу или отдельным его составляющим на время можно ограничить.

  • Закрытие всего сайта осуществляется добавлением следующих строк:

Order Deny,Allow

Deny from all

  • Закрытие конкретной папки производится созданием отдельного файла внутри нее и добавлением в этот файл тех же строк.
  • Можно закрыть доступ для всех пользователей за исключением одного или нескольких указанных IP-адресов:

Order Deny,Allow

Deny from all

Allow from 123.123.123.123

В данном случае на пользователей с адресом 123.123.123.123 запрет не распространяется.

  • Для закрытия доступа к какому-то файлу нужно создать отдельный .htaccessв каталоге, где расположен данный файл, и добавить следующий код:

<Files example.exe>

Order Deny.Allow

Deny from all

</Files>

Здесь доступ закрывается конкретно для файла example.exe.

Ограничение для файлов определенного типа

С помощью .htaccess запрет доступа можно наложить на несколько файлов одного типа. Как вариант, потребуется добавить отдельную директиву для каждого файла, что усложняет обработку параметров сервером. Вследствие этого тратятся и дополнительные ресурсы. Проще в таком случае ограничить доступ ко всем файлам с одинаковым расширением.

Это делается добавлением конфигурации такого формата:

<Files «\.(txt|pdf|jpg)$»>

Order Deny.Allow

Deny from all

</Files>

В показанном примере доступ запрещен для файлов с расширениями txt, pdf и jpg.

Запрет просмотра каталогов

Опытные пользователи могут просматривать структуру каталогов сайта. Как правило, директории при этом отображаются в виде списка. Для запрета данной операции достаточно добавить в конфигурацию следующую строку:

Options -Indexes

Если же необходимо, напротив, разрешить листинг, команда будет выглядеть так:

Options +Indexes

Настройка в .htaccess переадресации с кодом 301

Чаще всего пользователи перенаправляются с одного домена на другой. Необходимость в этом возникает, например, при переезде сайта на другое доменное имя вследствие ребрендинга или иных причин. Выполняется переадресация также командами .htaccess. Редирект на https с http производится аналогичным образом.

В качестве примера приведем наиболее часто применяемую конструкцию. Итак, для редиректа страницы .htaccess должен содержать следующие строки:

RewriteEngine On

RewriteCond %{HTTP_HOST} site1.ru

RewriteRule (.*) http://site2.ru/$1 [R=301,L]

Здесь пользователь перенаправляется с исходного домена site1.ru на целевой site2.ru.

Обработка ошибок

Страницы ошибок в .htaccess, а также коды этих ошибок указываются директивой ErrorDocument. Формат следующий:

ErrorDocument 404

http://site.ru/error/404.html

Здесь:

  • ru — доменное имя сайта;
  • error — каталог, содержащий страницу ошибки (при наличии таковой);
  • html — имя страницы ошибки.
Обработка ошибок
Обработка ошибок

Иногда пользователи сталкиваются с появлением ошибки 404 на сайте, если отсутствует файл .htaccess. WordPress, OpenCart и подобные движки, на основе которых разрабатывался ресурс, приводят именно к таким последствиям. При этом открываться может лишь главная страница, остальные же будут недоступны. Если подобная проблема возникает, прежде всего нужно убедиться в наличии конфигурационного файла, затем проверить корректность его названия.

При необходимости данный файл создается заново и заполняется стандартным содержимым для соответствующего движка. Брать код для добавления следует из источников, заслуживающих доверия.


Хотите получить одну из самых востребованных профессий в 2023 году? Станьте веб-разработчиком!
Всего за 9 месяцев обучения вы познакомитесь с веб-технологиями, изучите популярные языки программирования и сможете самостоятельно создавать адаптивные сайты и интерактивные веб-приложения. Не упустите возможность стать специалистом одной из самых высокооплачиваемых и актуальных направлений. Присоединяйтесь к нам уже сейчас!
Оцените статью
Рейтинг: 1.86
( голосов 7 )
Поделиться статьей
Добавить комментарий

Сортировать:
По дате публикации
По рейтингу
До конца акции осталось
0 дней 00:00:00
Дарим скидку 64% на обучение «Разработчик»
  • Получите новую профессию с гарантией трудоустройства
  • Начните учиться бесплатно, 3 месяца обучения в подарок
Забронировать скидку на обучение
Забрать подарок

Получите подробную стратегию для новичков на 2023 год, как с нуля выйти на доход 200 000 ₽ за 7 месяцев

Подарки от Geekbrains из закрытой базы:
Осталось 17 мест

Поздравляем!
Вы выиграли 4 курса по IT-профессиям.
Дождитесь звонка нашего менеджера для уточнения деталей

Иван Степанин
Иван Степанин печатает ...