Назад в блог

Как включить, создать и использовать файл .htaccess: руководство

Как включить, создать и использовать файл .htaccess: руководство

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

Когда предпочтительно использовать файл .htaccess

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

  • Добавление перенаправлений для определенного URL-адреса или списка URL-адресов.

  • Включение защиты паролем для определенных каталогов на сервере.

  • Загрузка пользовательских страниц ошибок.

  • Принудительное использование HTTPS вместо HTTP для сайта.

  • Блокировка определенных IP-адресов или доменов.

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

Предварительные требования

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

  • Пользователи системы должны иметь привилегии sudo.

  • Защищенный виртуальный хост с SSL.

    • Следуйте руководству Защита Apache с помощью Let’s Encrypt в Ubuntu 18.04, если вы настраиваете и защищаете Apache с использованием собственного домена.

    • В качестве альтернативы вы можете Создать самоподписанный SSL-сертификат для Apache в Ubuntu 20.04, если планируете использовать Apache для тестирования.

Примечание: Существует множество провайдеров доменов, у которых можно купить собственные домены онлайн. Namecheap, Freenom, и Bluehost, и это лишь некоторые из них, известны своим исключительным сервисом.

После завершения первоначальной настройки войдите на свой сервер как пользователь sudo и давайте начнем.

Шаг 1 — Включение файла .htaccess

По умолчанию файл .htaccess отключен. Сначала нам нужно изменить конфигурацию Apache и включить файл .htaccess.

Откройте apache2/sites-available/your_domain.conf файл виртуального хоста с помощью nano или любого другого текстового редактора:

Предполагая, что вы выполнили настройку, описанную в руководстве Apache web server guide, вы найдете следующие сведения о конфигурации:

Затем добавьте следующее содержимое Directory внутрь блока VirtualHost:

В приведенном выше блоке кода строка AllowOverride All в разделе Directory является наиболее важной из всех. Этот раздел позволяет использовать файлы .htaccess.

После этого сохраните работу и закройте файл. Если вы используете текстовый редактор nano, используйте сочетание клавиш CTRL + X, Y, и ENTER для закрытия файла.

Проверьте конфигурацию перед перезапуском веб-сервера:

Вы увидите Syntax OK в качестве вывода, если все в порядке. Теперь перезапустите сервер, чтобы применить вашу политику паролей:

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

Шаг 2 — Создание файла .htaccess

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

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

Если вы выполнили предварительные требования, описанные выше, корневой веб-каталог будет находиться по адресу root в /var/www/my_domain/.htaccess. Далее создайте файл .htaccess для вашего веб-сайта с помощью:

После того как наш файл .htaccess готов, давайте рассмотрим некоторые варианты его использования.

Шаг 3 — Распространенные варианты использования файла .htaccess

Использование файла .htaccess на вашем сайте дает ряд преимуществ. Давайте обсудим каждое из них подробно:

  1. Перенаправление URL

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

  1. Создание пользовательских страниц ошибок

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

  • 400 Bad Request

  • 401 Unauthorized

  • 403 Forbidden

  • 404 Not Found

  • 500 Internal Server Error

  • 502 Bad Gateway

  • 503 Service Unavailable

В отличие от стандартной страницы ошибки сервера «Page Not Found», используйте файл .htaccess, чтобы предоставить пользователям более удобный и приятный интерфейс.

  1. Настройка аутентификации безопасности

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

Используйте команду htpasswd  для создания файла паролей в целях безопасности. Apache будет использовать этот файл паролей для аутентификации проверенных пользователей. Перейдите в каталог /etc/apache2 и создайте конфиденциальный файл с именем .htpasswd.

Чтобы создать необходимый файл .htpasswd, используйте -c опцию при первом использовании этой утилиты безопасности паролей. Затем укажите имя пользователя в конце команды, чтобы добавить новую запись в файл. После этого замените имя пользователя nick (используемое в этом руководстве) на ваше имя пользователя:

Затем вам будет предложено ввести и подтвердить пароль пользователя.

Продолжайте чтение этого руководства, чтобы узнать больше о настройке и конфигурировании аутентификации по паролю в Apache на Ubuntu 20.04.

  1. Добавление типов MIME

Классификация файлов, используемых в Интернете, становится простой благодаря Multi-Purpose Internet Mail Extensions (MIME). В некоторых случаях, когда веб-сайт не может передать определенный файл, добавление расширений решает проблему. Используйте следующий код, чтобы добавить типы Multipurpose Internet Mail Extensions (MIME) на ваш сервер Apache в файле .htaccess :

Примечание: В нашем руководстве используется тип MIME для аудиофайла. Замените приложение и расширение файла на нужный вам тип MIME. Кроме того, убедитесь, что конфигурация виртуального хоста и директория расположения файла .htaccess могут использовать директиву AddType. В противном случае вы получите ошибку 500 Internal Server Error.

  1. Server Side Includes(SSI)

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

В HTML-файлах технология Server Side Includes (SSI) по умолчанию отключена. Добавьте следующий код в ваш файл .htaccess, чтобы включить SSI:

Приведенные выше строки сначала проверяют файлы .shtml. Затем подтверждение отправляется в файл .htaccess, позволяя серверу анализировать все файлы .shtml .

В качестве альтернативы вы можете использовать XBitHack для синтаксического анализа содержимого нескольких файлов .html вместо того чтобы переименовывать расширения .shtml по одному. Добавьте следующую строку в файл .htaccess, чтобы использовать XbitHAck и заставить Apache проверять все файлы .html:

Затем вам нужно изменить права доступа, чтобы разрешить странице использовать XBitHack. Используйте для этого следующую команду chmod:

  1. Управление IP-адресами

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

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

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

Order Deny, Allow Deny from www.blockdomain.com (где www.blockdomain.com — это конкретный домен)

Минусы использования .htaccess

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

i. Снижение производительности: каждый раз, когда сервер сканирует каталог страницы и ее файл .htaccess, страница загружается. В результате снижение скорости и производительности становится главной проблемой.

ii. Безопасность: доступ к файлам .htaccess дает полный контроль над конфигурацией сервера. Это означает, что любой неавторизованный пользователь, получивший доступ к .htaccess доступ к .htaccess файлу, что в свою очередь ведет к потенциальным рискам безопасности.

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

Заключение

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

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

author

Preslav Dobrev

Автор · CloudSigma

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

Комментарии

Комментариев пока нет. Будьте первым.