Xто это такое файл .htaccess: как правильно создать и настроить

Файл .htaccess – это специализированный служебный документ, который используется для смены настроек веб-сервиса Apache и других, схожих с ним по функционалу, сервисов. Если говорить простыми словами, то использование этого файлы поможет веб-разработчику изменить работу сайта. В частности, касается это настройки доступа к различным папкам и файлам, указания права переписи ссылок и предупреждения об обработке. Интересно то, что файл не изменяет работу всего сервера, а только настраивает дополнительные параметры у группы пользователей.

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

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

Для чего нужен файл .htaccess

В данном файле можно:

  • Настраивать директивы простого перенаправления (редиректы). После смены домена посетитель сайта перейдет на новый проект.
  • Переадресовывать с URL, где есть www, на домен без www. Или же на https после того, как установите ssl сертификат.
  • Описывать ошибки. В том числе и ошибка 404 с заменой на нужную страничку.
  • Кэширование файлов. Позволит ускорить работу сайта.
  • Создавать ЧПУ. Это «Человеко-понятные УРЛы», то есть, формируются ссылки, понятные для интернет-пользователей.
  • Изменять исходный код страниц.
  • Управлять доступом к файлам и директориям при помощи паролей.
  • Задавать индексный файл.
  • Открывать и закрывать доступ с определенных IP-адресов.
  • Управлять поисковыми ботами на сайте.
  • Настраивать директивы сложного направления.

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

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

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

Где находится .htaccess

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

Но и есть и обратная сторона медали. В стандартных FTP-клиентах на ОС Windows и Mac, документ очень часто остается невидимым для пользователей. Эти пользователи думают, что их просто не существует. Таким образом, если человек создает файл для внесения определенных конфигураций, кодов для обработки ошибок, создания доступа и другого. Отлично, что у большой части хостингов оставляется место на диске, где htaccess-файл уже установлен автоматически.

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

Если документ все-же не находится, то создать можно свой. Случается, что на экране появляется ошибка. Это значит, что хостер не дал разрешение на создание служебного файла.

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

Как правильно создать .htaccess

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

  • Открыть текстовый редактор, к примеру, Блокнот. Ничего писать в нем е требуется.
  • Выбрать пункт «Файл», а потом нажать на пункт «Сохранить как».
  • Появится новое окно, напротив пункта «Тип файла» выбрать «Все файлы».
  • В строке «Имя файла» прописать .htaccess и нажать на «Сохранить».

Затем стоит проверить, насколько корректно создан документ. В некоторых случаях получатся, что пользователи сохраняют его как .htaccess.txt, что не правильно.

Затем нужно загрузить созданный файл в корневую папку сервера. Если не появляется ошибка 500, то все сделано верно.

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

Примеры использования

Рассмотрим самые популярные команды для .htaccess.

Редирект

Редирект используются довольно часто. С их помощью нужно перенаправлять посетителя со старого урла на новую страницу. Получается это сделать при помощи 301-редиректа. В код файла впишите:

Redirect 301 /старый_URL.html http://www.название_вашего_сайта.ru/новый_URL.html

В целом директива будет отображена в таком виде:

Redirect [status] URL_LOCAL URL_REDIRECT

URL_LOCAL – это старый адрес, с которого осуществляется перенаправление пользователя.

URL_REDIRECT – новый URL, куда переносится страница.

В поле [status] такие значения страницы:

301 – страница перенесена навсегда.

302 – страница перенесена на какое-то время.

303 – смотрите другую страницу.

410 – страница удалена.

Mod_rewrite (директивы сложного переноса)

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

1. Указание основного зеркала

Позволяет преобразовать домен с www на URL без www. Вводим:

RewriteEngine On # включает работу

RewriteCond %{HTTP_HOST} ^www.название_вашего_сайта\ru$ [NC] #условия для начала перенаправления

RewriteRule ^( *)$ http://название_вашего_сайта_/$1 [R=301,L] #правило преобразования

2. Перенос на https

Обеспечивается безопасное соединение путем перенаправления с http на https при помощи кода:

RewriteEngine On

RewriteCond %(HTTPS) !on

RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URL)

3. Проставление слеша в конце адреса

Создан для того, чтоб урл страницы не заканчивается названием каталога. Нужно ввести код:

RewriteCond %{REQUEST_URI} /+[^\.]+$

RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

4. Перенос домена

После изменения названия сайта желательно указать такой код:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.yoursite.ru\.ru$ [NC]

RewriteRule ^(.*)$ http://www.your-site.ru/$1 [R=301,L]

Стоит отметить, что оптимизация сайта и, в частности, изменение доменного имени, может иметь массу негативных последствий. Инструкции перекрываются 301-редиректом. Чтоб этого не допустить в код добавляется следующее правило:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]

RewriteRule ^([^/]+) $1 [L]

RewriteCond %{HTTP_HOST} ^mysite\.ru

RewriteRule ^(.*)$ http://www.my-site.ru/$1 [R=301,L]

5. Запретные команды для поискового бота

С помощью этой команды закрывается доступ к веб-ресурсу от поисковых роботов:

RewriteEngine on

RewriteCond %{USER_AGENT} Googlebot

RewriteRule .* — [F] # F – выдает ошибку 403 – запрещено для сканирования

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

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

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

ErrorDocument 404 /siteerror404.html

Индексные документы

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

DirectoryIndex name.xml

Можно также добавить и несколько страниц. В результате поисковая система будет находить их в определенной последовательности.

DirectoryIndex index.html index.php index.pl

Указание кодировки

Эта функция необходима, чтоб текст отображался корректно на экране пользователя. Иначе вместо нормальной страницы с читаемым текстом будет набор непонятных символов. Сейчас распространена более кодировка: Windows-1251 – Кириллица и UTF-8 – двухбайтовая кодировка. Примените директиву следующего типа:

AddDefaultCharset WINDOWS-1251

Чтоб и в последующем загружать файлы корректно, то нужно сделать кодировку:

CharsetSourceEnc WINDOWS-1251

Указание паролей для директорий

Прописывается следующая комбинация:

AuthName «Need password» #сообщение для запроса пароля

AuthType Basic #тип аутентификации

AuthUserFile /passwords/.psd #имя файла, содержащее пароли для входа

Require valid-user #имя пользователей, которым открыт доступ

Доступ к файлам и директориям

Можно запретить полный или частичный доступ к определенным файлами. Если вы хотите закрыть доступ к системному каталогу, то пропишите:

Deny from all

Для запрета просмотра определенного файла, например, test.php:

<Files test.php>

deny from all

</Files>

Открыть просмотр для конкретного IP, и при этом закрыть доступ остальным, можно следующим образом:

<Files «passwd.html»>

Order Deny,Allow

Deny from all

Allow from 12.345.678.90

</Files>

Итоги

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

Поделись интересным материалом!
Павел Гречко
Павел Гречко
SEO-эксперт c 10-летним опытом работы. Своим опытом и знаниями он делится, создавая полезные статьи про SEO и диджитал-маркетинг. Остались вопросы? пишите в комментариях или в телеграмм.

SEO для бизнеса

Оптимизация и продвижение вашего сайта
20000
15 000 В месяц
  • Изучаем спрос в вашей нише
  • Делаем идеальную структуру сайта
  • Создаём страницы на основе СЯ
Popular

Продвижение в Яндекс.Дзен

Привлечение новой аудитории с помощью статей
20 000 В месяц
  • Составляем контент план
  • Заказываем статьи у копирайтера
  • Публикуем статьи на канале

Семантическое ядро

Исследуем спрос на ваши товары или услуги
15 000 Единоразово
  • Изучаем ваши конкурентов
  • Парсим все поисковые фразы
  • Создаём идеальную структуру сайта
Другие мои публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Оставить заявку!