Файл htaccess — что это, как работает, нюансы настройки

Что такое htacces?

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

Такое ПО называют веб-сервер. Сегодня существует множество разных подобных программ, но наиболее распространенной среди них, является Apache. Причиной такой популярности является открытый код, возможность бесплатного использования и регулярные доработки, расширения функционала. Кроме того, Apache отлично работает с разными ОС, включая Windows и Linux.

Почему мы делаем акцент на этом ПО?

Именно в Apache, для настройки некоторых параметров веб-сервера, используется файл «.htacces».

Он позволяет:

  • Настраивать редиректы между страницами;
  • Предотвратить загрузку ваших данных другими сайтами;
  • Блокировать запросы с нежелательных IP или от определенных UserAgents;
  • Запрещать доступ к вашим данным;
  • Устанавливать адрес почты, который будет использовать администратор сервера;
  • И многое другое.

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

Как создать файл htacces?

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

Поэтому, в первую очередь, мы будем говорить о создании .htacces для html сайта.

Этот файл должен иметь текстовый формат, поэтому создать его можно с помощью самого элементарного редактора, например, «Блокнот» или NotePad++.

Имя файла – «.htacces». Наличие точки в начале имени обязательно, так же как и точное соблюдение регистра. Дело в том, что для Apache «.htacces» и «.HTacces», будут двумя разными файлами.

Кодировка файла должна быть ASCII.

После создания и заполнения, необходимо залить его на сервер по FTP-протоколу и убрать у файла .htacces расширение «*.txt».

Если вы используете устройство на Mac OS, то важно помнить, что в этой ОС, файлы, которые начинаются с точки, являются невидимыми. Поэтому удобнее будет сначала назвать файл «htacces», а после переноса на сервер, переименовать, добавив точку в начале.

Обычно файл .htacces, размещается в корневой директории сайта или сервера.

Важно! Даже если вы используете CMS, в зависимости от выбранного процесса установки, файла .htacces, может и не быть. Соответственно придется самостоятельно создать его, и залить на сервер. При этом, стоит ознакомиться с информацией о конкретной системой по управлению контентом, на предмет того, где именно должен находиться этот файл.

Так например, для WordPress, файл .htacces, должен находиться в каталоге «public_html».

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

Пример файла htacces, для Вордпресс:

 

Как правильно настроить htacces?

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

Если вам необходимо сделать правильный документ htacces, для сайта, который делал кто-то другой. То может возникнуть вопрос – «как найти .htacces?».

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

Прежде чем, говорить о настройке, стоит упомянуть о том, что сегодня можно скачать или скопировать готовый файл htacces. Этот вариант может быть хорошим решением для стандартных сайтов. Однако, стоит помнить о том, что рано или поздно, изменения все равно придется вносить. Как минимум для того, чтобы настроить перенаправление (редиректы).

Чаще всего, стандартные файлы .htacces, легко найти на ресурсах посвященных разным CMS.

Итак, давайте разберемся, что же именно можно сделать при помощи файла .htacces?

  1. Страницы ошибок

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

Для того, чтобы выполнить эту задачу, применяется команда «ErrorDocument», после неё нужно указать код ошибки, и адрес страницы, на которую будет перенаправлен пользователь. Адрес страницы должен быть относительным.

Пример:

ErrorDocument «код ошибки» /адрес страницы

Лучше всего, сделать в корне сайта каталог «error», и поместить все страницы туда.

  1. Настройка редиректов

Сегодня рекомендуется использовать 301-й редирект, который позволяет полностью переносить вес страниц. Для настройки редиректов в файле .htacces, необходимо использовать директиву «Redirect», после которой указывается тип редиректа, адрес страницы, с которой осуществляется направление (относительный), адрес страницы, на которую вы перенаправляете пользователей (абсолютный).

Пример:

Redirect «тип редиректа» /адрес страницы http://домен/адрес страницы

  1. Ограничить доступ пользователей к сайту по IP

Если вы хотите закрыть доступ к сайту для пользователей, которые пользуются конкретными IP-адресами, необходимо добавить:

Если вам нужно запретить доступ к сайту для всех IP адресов, за исключением нескольких, то добавляем:

Если нужно полностью запретить доступ, вне зависимости от адреса, то необходимо ввести:

Это только несколько наиболее популярных функций данного файла, разумеется, список функций, которые можно настроить с помощью файла .htaccess, существенно больше. Полный список директив, рекомендуем искать на специальных ресурсах, например, на apache.org.

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

Если вы хотите выяснить причины этой ошибки, самым простым вариантом, будет посмотреть лог-файл. Он располагается по адресу /var/log/вашдомен.error.log

Что обязательно нужно сделать при настройке htacces?

  1. Запретить загрузку данных другими сайтами

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

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

  1. Настроить блокировку всех запросов от нежелательных пользователей

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

  1. Создать страницы для ошибок

Представьте себе, что посетитель вашего сайта заходит на страницу, к которой нет доступа. Он сразу же увидит стандартную заглушку своего браузера, с которой нельзя перейти на другие страницы. Чаще всего, в этих случаях человек просто закрывает вкладку, и больше не возвращается на сайт.

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

  1. Сжать некоторые элементы при помощи Gzip

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

  1. Защитить с паролем особо важные документы и папки

Благодаря htacces, вы сможете ограничение доступа к конкретным файлам и папкам, по логину и паролю. Для этого, необходимо будет создать специальный файл .htpasswd, и добавить в него необходимые данные в формате: «логин:пароль». При этом, лучше всего будет воспользоваться сервисами генерации и шифрования записей в htpasswd, поскольку иначе, логины и пароли будут храниться в незашифрованном виде.

  1. Усилить кэширование

Сразу стоит сказать, что кэширование файлов с помощью .htacces – невозможно. Тем не менее, с его помощью можно настраивать процесс кэширование на стороне клиента.

Правильная настройка кэширования важна, поскольку она позволяет существенно ускорить загрузку страниц сайта.

Взаимодействие htaccess, с кириллическими доменами

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

Соответственно, возникает вопрос – «Что делать?».

Как известно, для кириллических доменов существует представление имени в punycode, который предназначен для преобразования данных с кодировкой Unicode, в ASCII и аналоги. Для того, чтобы узнать как именно ваше доменное имя будет выглядать в punycode, можно воспользоваться сервисом Whois.

При этом, стоит помнить о том, что посетитель увидит в адресной строке браузера именно punycode-представление доменного имени, что естественно не является ошибкой.

Обработка файлов htaccess невозможна – в чем причина?

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

Вот список наиболее распространенных причин:

  • Используется сервер IIS;
  • Установка PHP как модуля Apache;
  • Установка PHP как CGI;
  • В настройке веб-сервера включена директива AllowOverride All.

Вывод

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

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

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

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

  • Для каждой директивы должна быть отдельная строка;
  • Кодировка данных должна быть ACSII;
  • Все домены на кириллице, должны быть написаны в punycode;
  • Комментарии создаются при помощи знака «#».

Некоторые CMS, требуют специфической настройки файла .htacces.

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

 

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 4,50 из 5)
Загрузка...
Этот сайт использует «cookies». Также сайт использует интернет-сервис для сбора технических данных касательно посетителей с целью получения маркетинговой и статистической информации. Условия обработки данных посетителей сайта см. Политика конфиденциальности
×