Htaccess что это за файл: Файл .htaccess — настройка перенаправлений и управление конфигурацией веб-сервера

Файл htaccess – что это, где он находится и зачем нужен

Доброго времени суток, дорогие читатели!

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

В материале мы поговорим об этом чуть подробнее. Также мы расскажем о том, как создать и настроить этот конфиг. Давайте начинать!

Что такое htaccess

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

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

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

Также с помощью него вы сможете настраивать доступ к файлам сайта, изменять параметры перенаправлений на страницу 404 (когда на ресурсе нет какого-то документа, он должен отдавать страницу с ошибкой 404, где будет указана эта информация), блокировать определенные IP-адреса и т. д.

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

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

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

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

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

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

Подведем промежуточные итоги, чтобы вам было понятнее. С помощью htaccess вы сможете:

  1. Настраивать редиректы (переадресацию) на различные адреса вашего ресурса. Пользователь будет заходить по одному какому-то адресу, его будет переадресовывать на другой. Полезно, когда у документа (статьи или страницы) сменился URL, и вы не хотите, чтобы пользователи получали ошибку 404 при обращении на этот адрес.
  2. Настраивать редиректы на другие домены. Это может понадобиться в случае, если вы хотите перенести свой ресурс на другой домен, но при этом не хотите терять существующую аудиторию, которая попытается перейти на сайт по старому домену. Через htaccess вы сможете настроить простую переадресацию, которая будет переводить пользователей на нужный вам новый домен.
  3. Сделать переадресацию на домен с www или без него. По умолчанию многие проекты доступны по нескольким вариантам одного домена. Например, условный site.ru можно открыть как просто , так и . Это порождает лишние дубли и очень негативно влияет на поисковое продвижение. С помощью конфига вы сможете настроить переадресацию на основной вариант.
  4. Сделать редирект на https. После установки SSL-сертификата ваш ресурс будет доступен уже по четырем разным вариантам адреса. К предыдущему пункту прибавится еще версия с https-протоколом. Htaccess поможет вам сделать основной только одну версию. То есть сделать редирект сразу же на нужный вариант адреса с нужным протоколом.
  5. Настроить кэширование файлов вашего ресурса. Этот шаг необходим для ускорения работы вашего проекта. С помощью данного конфигурационного конфига вы сможете сделать кэширование. Тогда вся информация с сайта будет сжиматься до оптимальных размеров и подаваться пользователям в упрощенном виде.
    Им не придется всегда заново нагружать ваш сервер и скачивать все файлы. Кэширование очень важно для SEO, потому что оно помогает ускорить ресурс. Также кэширование помогает снизить нагрузку на хостинг.
  6. Сделать ЧПУ-ссылки. Обычно все файлы ресурса имеют ссылки, которые не так-то просто запомнить. Это могут быть какие-то последовательности из символов или что-то другое. С помощью htaccess вы сможете сделать понятные человеку варианты ссылок, которые будут состоять из слов на латинице. В WordPress для создания ЧПУ вам достаточно просто активировать нужный параметр в настройках, в самописных же сайтах придется делать это самостоятельно через этот самый файлик.
  7. Блокировать доступ с определенных IP-адресов. Очень часто на сайты нападают разного рода злоумышленники, которые спамят флудом, пытаются вывести этим хостинг проекта из строя или просто активируют большое количество ботов, которые отправляют различный рандомный текст в комментарии к записям или в формы сбора заявок.
    Используя определенные команды, которые будут заноситься в этот конфиг, вы сможете блокировать IP-адреса спамеров, и они больше не смогут заходить на сайт. Также вы сможете настроить закрытый ресурс, который будет доступен только определенным IP-адресам. То есть это такие своеобразные белые и черные списки.
  8. Регулировать поведение поисковых роботов на сайте. Обычно параметры для поисковиков настраиваются через robots.txt, но в htaccess вы также можете указать несколько настроек, которые помогут вам управлять поведением роботов поисковых систем.
  9. Настраивать доступ к определенным файлам и папкам. Вы можете устанавливать пароли на определенные директории и файлы. Это поможет вам установить контроль посещаемости и делать документы видимыми только для ограниченного количества людей. Подобные функции помогают вам защитить свой проект от атак хакеров и повысить уровень безопасности.
  10. Устанавливать более тонкие настройки сервера. С помощью конфигурации вы сможете устанавливать настройки сервера. Например, если у сервера есть какие-то лимиты на загрузку конфигов, с помощью htaccess вы сможете изменить их. Также вы сможете менять и другие параметры сервера, используя для этого различные команды.

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

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

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

Помещаем документ в корень, и он действует на весь проект (все папки и их содержимое), помещаем куда-то внутрь, и будет работать только с теми папками и файлами, которые расположены с ним на одном уровне или ниже.

Где расположен htaccess

Обычное дефолтное расположение этого документа – корень сайта. Каких-то примеров локального использования конфига только для определенных папок внутри сайта мы не видели. Чтобы обнаружить этот документ, вам достаточно зайти в файловый менеджер вашего хостинга или же воспользоваться FTP-клиентом.

Htaccess будет расположен прямо в корне (/public_html, если это виртуальный хостинг). Его можно будет открыть с помощью любого текстового редактора.

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

Также вы можете просто скачать его и открыть при помощи любого редактора на вашем компьютере.

Но если вы хотите изменить этот файл на WordPress, то вам совсем не обязательно заходить на хостинг и открывать его там. Достаточно будет просто зайти в настройки плагина Yoast SEO, перейти во вкладку “Инструменты”. Содержимое конфига будет доступно прямо там, в специальном окне. Вы сможете легко его менять, и все изменения будут автоматически заноситься в настоящий конфиг.

Такой вариант можно считать более оправданным, потому что никаких лишних забот тут нет. Но стоит заметить, что далеко не все используют плагин Yoast SEO. В других SEO-плагинах также есть похожие возможности.

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

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

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

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

Создаем htaccess на компьютере

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

Кликните правой кнопкой мыши на свободном месте рабочего стола, после чего выберите “Создать” – “Текстовый документ”. На рабочем столе появится файлик с названием “Новый текстовой документ”. Откройте его, но ничего не вводите.

Далее, просто наведите курсор в левый верхний угол, найдите там пункты меню “Файл” – “Сохранить как”. Откроется окно сохранения, где будет необходимо выбрать папку для сохранения (можно сохранить прямо на рабочий стол), ввести название и выбрать тип файла.

В поле “Имя файла” вводим “.htaccess”. В раскрывающемся меню “Тип файла” выбираем “Все файлы”. Далее, жмем на кнопку сохранить. Все, документ создан.

Обратите внимание, что он не должен иметь расширение. То есть не должно быть, например, “.htaccess.txt”.

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

Примеры команд

Теперь мы расскажем о наиболее популярных примерах использования команд у этого конфига. Они могут использоваться как для HTML-сайта, так и для проекта на платформе. Каждая команда может сломать ваш проект, поэтому будьте максимально аккуратны при настройке.

Переадресация

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

Redirect 301 /старый_адрес.html http://www.site.ru/новый_адрес.html

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

Всего есть 4 различных значения.

  1. 301 – документ перемещен навсегда.
  2. 302 – документ перемещен временно.
  3. 303 – смотрите другие документы ресурса.
  4. 410 – документ был безвозвратно удален.

Mod_rewrite – настройка сложных редиректов

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

( *)$ _/$1 [R=301,L]

Вместо site.ru должен быть ваш домен. Если вы введете это в конфигурационный документ, ваш сайт будет перенаправлять пользователей с www на обычную версию ресурса. Допустим, человек попытается перейти на www.site.ru/stat1, его сразу же перекинет на site.ru/stat1. Вот так это и работает.

  • Редирект на https.

Если вы установили SSL-сертификат и хотите, чтобы все страницы проекта открывались через защищенное соединение, вам необходимо просто прописать эти строчки.

RewriteEngine On

RewriteCond %(HTTPS) !on

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

Менять в этом коде ничего не нужно, все будет работать именно в таком виде.

  • Редирект на другой домен.

Если вы решили сменить домен и хотите, чтобы на ваш проект могли переходить по старому адресу, то вы можете просто настроить перенаправление с помощью этих строчек. (.*)$ /$1 [R=301,L]

Вы можете изменить название сайта, добавив или убрав определенные варианты. Например, вы можете настроить редирект сразу на сайт с https. Также вы можете изменить домен на вариант без www.

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

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

RewriteEngine on

RewriteCond %{USER_AGENT} Googlebot

RewriteRule .* — [F]

Вместо Googlebot вы можете ввести название любого другого поискового робота. При обращении к вашему домену поисковый робот будет получать ошибку. Проиндексировать сайт он никак не сможет.

Заключение

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

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

Обработка файлов и папок в htaccess: запрет, правила

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

AddHandler application/x-httpd-php . html

Запрет доступа к файлу

Приведём пример запрета на доступ к файлу:

<Files "secret.php">
   Deny From All
</Files>

Теперь если сделать запрос к файлу secret.php, который находится в корневой папке сайта, то вернётся статус 403 (доступ запрещён) и будет показано сообщение:

Forbidden

You don't have permission to access secret.php on this server.

Apache/XXX (YYYY) Server at ZZZZ Port №№

Вместо отдельного файла «secret.php» можно поставить папку «/secret/». Тогда получится запрет на доступ к папке и всем вложенным в неё папкам/файлам.

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

ErrorDocument 403 /403. html
<Files "secret.php">
   Deny From All
</Files>

Теперь при обращении к файлу «secret.php» будет выдаваться страница 403.html, которая находится в корне сайта. На этой странице можно написать предупреждение, которое увидят пользователи.

Запрет на отображение содержимого папки

Из соображений безопасности на сайтах часто ставят запрет на отображение списка файлов в папке без индексного файла. Представьте ситуацию: пользователь переходит по адресу сайта, который как папка. К примеру, так: site.ru/products/. Но из-за того что в этой папке не оказалось файла index.php, пользователю показывается не пустая страница, а структура файлов сайта. Чтобы этого не происходило, в .htaccess записывается опция:

Options -Indexes

Тогда при заходе в папке сайта без индексного файла, будет выдаваться статус 403.

Cмотрите другие статьи:

Что такое htaccess, редирект через htaccess и изменение адресов с mod_rewrite

Установить пароль на папку сайта через htaccess

Была ли эта статья полезна? Есть вопрос?

Закажите недорогой хостинг Заказать

всего от 290 руб

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

спросил

Изменено 1 год, 5 месяцев назад

Просмотрено 135 тысяч раз

Я новичок в среде Zend и хочу узнать больше о файле .htaccess и его использовании . Кто-нибудь может мне помочь?

Я нашел такой пример:

.htacess file

 AuthName "Имя пользовательской зоны"
AuthUserFile /путь/к/паролю/файлу/.htpasswd
Основной тип авторизации
требовать действительного пользователя
Документ об ошибке 401 /error_pages/401. html
Обработанный сервером AddHandler .html
 
  • апач
  • .htaccess
  • веб-сервер

1

Это не часть PHP; это часть Apache.

http://httpd.apache.org/docs/2.2/howto/htaccess.html

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

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

1

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

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

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

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

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

2

Ниже приведены примеры использования файлов htaccess на сервере:

1) АВТОРИЗАЦИЯ, АУТЕНТИФИКАЦИЯ: Файлы . htaccess часто используются для указания ограничений безопасности для конкретного каталога, отсюда и название файла «доступ». Файл .htaccess часто сопровождается файлом .htpasswd, в котором хранятся действительные имена пользователей и их пароли.

2) НАСТРАИВАЕМЫЕ ОТВЕТЫ НА ОШИБКИ: Изменение страницы, отображаемой при возникновении ошибки на стороне сервера, например HTTP 404 Not Found. Пример: ErrorDocument 404 /notfound.html

3) ПЕРЕЗАПИСЬ URL-адресов: Серверы часто используют .htaccess для перезаписи «уродливых» URL-адресов на более короткие и красивые.

4) КОНТРОЛЬ КЭША: Файлы .htaccess позволяют серверу контролировать кэширование пользовательского агента, используемое веб-браузерами, чтобы уменьшить использование полосы пропускания, нагрузку на сервер и воспринимаемое отставание.

Дополнительная информация: http://en.wikipedia.org/wiki/Htaccess

Вы можете использовать php_value для изменения настроек php в файле . htaccess. То же самое, что и php.ini.

Пример:

 php_value date.timezone Азия/Куала-Лумпур
 

Другие настройки php см. на http://www.php.net/manual/en/ini.list.php

Htaccess — это файл конфигурации Apache, который используется для внесения изменений в конфигурацию на основе каталога . Файл Htaccess используется для внесения изменений в функции и возможности сервера Apache. Htaccess используется для перезаписи URL. Используется для защиты адреса сайта. Также ограничить IP-адреса, чтобы сайт с определенного IP-адреса не открывался

Вы можете думать, что это похоже на подфайлы файлов php.ini. В файле php.ini хранится большая часть конфигурации php, например, curl enable disable. Где .htaccess делает этот параметр только для определенного каталога, а файл php.ini хранит настройки для всего каталога своего сервера…

Не так просто выдать конкретные адреса людям, скажем, для конференции или конкретного проекта или продукта . Было бы более безопасно предотвратить хакерские атаки, такие как атаки SQL-инъекций и т. index.php [QSA,L]

What

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

Мы можем сделать

  • Перезапись URL
  • Пользовательские страницы ошибок
  • Кэширование
  • Перенаправления
  • Блокировка ip

Как запретить доступ к файлу в .htaccess

спросил

Изменено 4 месяца назад

Просмотрено 253 тыс. раз

У меня есть следующий файл .htaccess:

 RewriteEngine On
Переписать Базу /
# Защитить файл htaccess
<Файлы .htaccess>
Заказать Разрешить, Запретить
Запретить от всех

# Защитить log. txt
<Файлы ./inscription/log.txt>
Заказать Разрешить, Запретить
Запретить от всех

# Отключить просмотр каталога
Опции Все -Индексы
 

Я пытаюсь запретить посетителям доступ к следующему файлу:

 domain.example/inscription/log.txt
 

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

  • .htaccess

0

Внутри файла htaccess область действия директивы применяется только к этому каталогу (я думаю, чтобы избежать путаницы, когда правила/директивы в htaccess подкаталогов применяются вместо родительских). 9/?надпись/журнал\.txt$ — [F,L]

4

Сильное сопоставление с образцом — это метод, который я использую здесь, в Perishable Press. Используя строгое сопоставление с образцом, этот метод предотвращает внешний доступ к любому файлу, содержащему « . hta », « .HTA » или любую их комбинацию без учета регистра. Для иллюстрации этот код предотвратит доступ через любой из следующих запросов:

  • .htaccess 9.*\.([Чч][Тт][Аа])»> порядок разрешить, запретить отрицать от всех удовлетворить всех

    4

    Я не считаю принятый в настоящее время ответ правильным. Например, у меня есть следующий файл .htaccess в корне виртуального сервера (apache 2.4):

     
    требовать все отказано
    требуется локальный хост
    нужен ip 127.0.0.1
    требуется IP xxx.yyy.zzz.aaa
    
     

    Это предотвращает внешний доступ к напоминание.php , который находится в подкаталоге. У меня есть аналогичный файл .htaccess на моем сервере Apache 2.2 с тем же эффектом:

      Порядок Запретить, Разрешить
     Запретить от всех
     Разрешить с локального хоста
     Разрешить с 127.

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

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