Основы .htaccess: как использовать и примеры

Статья написана:
  • Хостинг-гиды
  • Обновлено: июль 16, 2019

Что такое файл .htaccess?

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

Где находится файл .htaccess?

В корневой папке вашего веб-хоста должен быть один файл .htaccess - папка (обычно / public_html или / www), в которой хранится содержимое вашего веб-сайта.

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

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

Я не могу найти свой файл .htaccess

Прежде всего .htaccess - это файл Apache, это означает, что вы можете найти его только на сервере Apache. * Прекратите поиск, если ваш хост работает на другом программном обеспечении веб-сервера (например, Microsoft IIS или NGINX).

Имена файлов, начинающиеся с точки, обычно скрыты. Это означает, что они обычно не видны по умолчанию.

Чтобы просмотреть этот файл, просто включите «Показать скрытые файлы» в вашем FTP-клиенте или файловом менеджере хостинга (см. Изображение ниже).

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

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

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

* Примечание: Apache имеет о 30% рыночного поглощения на основе отчета W3Techs. Самые популярные бренды хостинга, упомянутые на WHSR - A2 хостинг, BlueHost, GreenGeeks, Hostinger, InMotion хостинг, SiteGround; работают на Apache.

Для чего .htaccess?

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

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

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

1. Управление пользовательскими страницами ошибок

Надпись: Примеры некоторых творчески настроенных страниц с ошибками 404

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

Допустим, вы разработали пользовательская страница ошибки 404 называется «404.html» и сохраняет его в подпапке в вашем веб-каталоге с именем «error_pages». Используя следующую строку кода в .htaccess, вы можете вызывать эту страницу всякий раз, когда посетитель обнаруживает ошибку 404;

ErrorDocument 404 /error_pages/404.html

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

  • 400 - Плохой запрос
  • 403 - запрещено
  • 404 - файл не найден
  • 500 - внутренняя ошибка сервера
  • 503 - Сервис недоступен

2. Обрабатывать перенаправления

Могут быть случаи, когда вы хотите установить общее перенаправление, чтобы вы могли направлять своих посетителей на определенные страницы без их ведома. Например, если вы изначально использовали HTTP, но с тех пор установил SSL и перешел на HTTPSвы бы хотели, чтобы все ваши пользователи использовали HTTPS-версию вашего сайта.

В этой ситуации вам нужно использовать правило перезаписи;

RewriteEngine On RewriteCond% {SERVER_PORT} 80 RewriteRule ^ (. *) $ Https://www.yourdomain.com/$1 [R, L]

Код для этого может быть изменен в зависимости от ваших потребностей. Например, если вы хотите вместо этого перенаправить пользователей из старого домена в новый, вы должны использовать;

RewriteEngine On RewriteCond% {HTTP_HOST} ^ olddomain.com [NC, OR] RewriteCond% {HTTP_HOST} ^ www.olddomain.com [NC] RewriteRule ^ (. *) $ Http://newdomain.com/$1 [L, R = 301, Северная Каролина]

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

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

Используя перенаправление, вы можете легко перемещать контент и сообщать веб-сканерам, где найти контент, который они ранее проиндексировали. Для этого используйте;

Перенаправить 301 / архив / / прошлые записи /

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

2. Повысить безопасность вашего сайта

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

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

Для этого вам понадобятся два файла: .htaccess и .htpasswd. Файл .htpasswd содержит некоторое шифрование, поэтому используйте такой инструмент, как Htpasswd Генератор создать файл. Файл .htaccess должен включать этот код;

AuthType Basic AuthName «Защищенная паролем область» AuthUserFile /path/to/.htpasswd Требуется действительный пользователь

Отключить просмотр каталогов

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

# Отключить опции просмотра каталогов -Indexes

Блокировать конкретные IP-адреса

Чтобы заблокировать посещение вашего сайта отдельными IP-адресами, добавьте следующий код в ваш файл .htaccess;

Запретить от XXX.XXX.XXX.XXX

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

3. Защита Hotlink

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

RewriteEngine в RewriteCond% {HTTP_REFERER}! ^ $ RewriteCond% {HTTP_REFERER}! ^ Http: // (www \.) Example.com/.*$ [NC] RewriteRule \. (Gif | jpg | jpeg | bmp) $ - [F]

В последней строке этого кода вы указываете, какие файлы вы хотите заблокировать сайты от хотлинкинга. По сути, Apache блокирует все ссылки на те файлы, которые не относятся к доменному имени http://www.example.com/.

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

RewriteEngine в RewriteCond% {HTTP_REFERER}! ^ $ RewriteCond% {HTTP_REFERER}! ^ Http: // (www \.) Example.com/.*$ [NC] RewriteRule \. (Gif | jpg) $ http: // www .example.com / stoptealing.gif [R, L]

Который может отображать альтернативное изображение на сайте-нарушителе, например так:

4. Защита файла .htaccess

Теперь вы понимаете, насколько полезным инструментом действительно является файл .htaccess. Поскольку вы пришли к этому пониманию, пришло время подумать о защите этого ценного файла! Если вы используете файл .htpasswd, то вы, вероятно, захотите это скрыть, и способ сделать и то, и другое;

# protect .htaccess и .htpasswd <Files ~ "^. * \. ([Hh] [Tt])"> Порядок разрешить, отказать в запрете для всех Удовлетворить все </ Files>

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

5. Настройка часового пояса вашего сервера

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

SetEnv TZ America / yourtimezone

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

Охватите силу .htaccess

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

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

О Джерри Лоу

Основатель WebHostingSecretRevealed.net (WHSR) - обзора хостинга, которому доверяют и используют пользователи 100,000. Более чем 15-летний опыт в веб-хостинге, партнерском маркетинге и SEO. Вкладчик в ProBlogger.net, Business.com, SocialMediaToday.com и многое другое.

Подключение: