Содержание
Файл htaccess – что это, где он находится и зачем нужен
Доброго времени суток, дорогие читатели!
Сегодня мы расскажем про файл htaccess, который выполняет очень важную роль на сайте. Именно через этот конфиг вы будете настраивать различные редиректы, прописывать используемый протокол и выполнять другие важные задачи. Без него нормальный ресурс просто не будет работать должным образом.
В материале мы поговорим об этом чуть подробнее. Также мы расскажем о том, как создать и настроить этот конфиг. Давайте начинать!
Что такое htaccess
Этот файл очень важен для любого сайта, потому что именно с его помощью воспроизводится настройка очень важных параметров. Для статейных ресурсов этот конфиг тоже имеет очень большое значение, потому что тут есть определенные функции, которые помогают корректировать работу ресурса.
Если вы будете оптимизировать свой ресурс под поисковые системы, то тщательная настройка htaccess станет неотъемлемой частью данного процесса. Именно с помощью этого файла вы сможете настраивать конфигурацию сервера, на котором расположен ваш сайт. Делается это при помощи специальных команд, которые вносятся напрямую в конфиг.
Htaccess – это обычный конфигурационный файл, где содержатся настройки определенного типа. Обычно там размещают информацию о редиректах (например, переадресацию на защищенный протокол https), параметры сервера и компонентов, которые на нем установлены и т. д.
Также с помощью него вы сможете настраивать доступ к файлам сайта, изменять параметры перенаправлений на страницу 404 (когда на ресурсе нет какого-то документа, он должен отдавать страницу с ошибкой 404, где будет указана эта информация), блокировать определенные IP-адреса и т. д.
Чаще всего htaccess создается автоматически. Например, если вы установите WordPress на виртуальный хостинг, то этот конфиг появится сам собой, так как платформой предусмотрено использование параметров, которые занесены в базовую версию этого файла. Обычно там указываются стандартные рекомендованные параметры хостинга для комфортной работы CMS.
При желании вы можете изменить эти параметры, но если что-то сделать не так, то ресурс может попросту перестать работать. Именно поэтому этот небольшой файлик должен настраивать понимающий человек. Он должен четко понимать, за что отвечает каждая строка конфигурационных команд.
В других платформах и CMS htaccess тоже очень часто создается автоматически. Именно с теми параметрами, которые нужны для комфортной работы системы.
Если говорить конкретно о WordPress, то чаще всего прямая настройка данного конфига не требуется. Стандартный вариант подходит для большинства ресурсов. Иногда изменения в этот конфиг вносят различные плагины или сам WordPress, если вы будете менять настройки. Сам же пользователь обычно и не подозревает о том, что у него есть такой конфиг.
В некоторых случаях этот файл нельзя изменить. Обычно подобное встречается на дешевых маломощных серверах, где владельцы пытаются вытрясти со своих пользователей деньги даже за возможность редактирования htaccess. Сайт не будет адекватно работать на таком хостинге, потому что в некоторых случаях может понадобиться изменение конфига.
А если этого будет сделать нельзя, то вы просто не сможете установить какой-то плагин, настроить редирект или прописать любой другой параметр. Лучше всего найти нормальный хороший хостинг по приемлемой цене, чтобы подобных проблем не возникало.
Подведем промежуточные итоги, чтобы вам было понятнее. С помощью htaccess вы сможете:
- Настраивать редиректы (переадресацию) на различные адреса вашего ресурса. Пользователь будет заходить по одному какому-то адресу, его будет переадресовывать на другой. Полезно, когда у документа (статьи или страницы) сменился URL, и вы не хотите, чтобы пользователи получали ошибку 404 при обращении на этот адрес.
- Настраивать редиректы на другие домены. Это может понадобиться в случае, если вы хотите перенести свой ресурс на другой домен, но при этом не хотите терять существующую аудиторию, которая попытается перейти на сайт по старому домену. Через htaccess вы сможете настроить простую переадресацию, которая будет переводить пользователей на нужный вам новый домен.
- Сделать переадресацию на домен с www или без него. По умолчанию многие проекты доступны по нескольким вариантам одного домена. Например, условный site.ru можно открыть как просто , так и . Это порождает лишние дубли и очень негативно влияет на поисковое продвижение. С помощью конфига вы сможете настроить переадресацию на основной вариант.
- Сделать редирект на https. После установки SSL-сертификата ваш ресурс будет доступен уже по четырем разным вариантам адреса. К предыдущему пункту прибавится еще версия с https-протоколом. Htaccess поможет вам сделать основной только одну версию. То есть сделать редирект сразу же на нужный вариант адреса с нужным протоколом.
- Настроить кэширование файлов вашего ресурса. Этот шаг необходим для ускорения работы вашего проекта. С помощью данного конфигурационного конфига вы сможете сделать кэширование. Тогда вся информация с сайта будет сжиматься до оптимальных размеров и подаваться пользователям в упрощенном виде. Им не придется всегда заново нагружать ваш сервер и скачивать все файлы. Кэширование очень важно для SEO, потому что оно помогает ускорить ресурс. Также кэширование помогает снизить нагрузку на хостинг.
- Сделать ЧПУ-ссылки. Обычно все файлы ресурса имеют ссылки, которые не так-то просто запомнить. Это могут быть какие-то последовательности из символов или что-то другое. С помощью htaccess вы сможете сделать понятные человеку варианты ссылок, которые будут состоять из слов на латинице. В WordPress для создания ЧПУ вам достаточно просто активировать нужный параметр в настройках, в самописных же сайтах придется делать это самостоятельно через этот самый файлик.
- Блокировать доступ с определенных IP-адресов. Очень часто на сайты нападают разного рода злоумышленники, которые спамят флудом, пытаются вывести этим хостинг проекта из строя или просто активируют большое количество ботов, которые отправляют различный рандомный текст в комментарии к записям или в формы сбора заявок. Используя определенные команды, которые будут заноситься в этот конфиг, вы сможете блокировать IP-адреса спамеров, и они больше не смогут заходить на сайт. Также вы сможете настроить закрытый ресурс, который будет доступен только определенным IP-адресам. То есть это такие своеобразные белые и черные списки.
- Регулировать поведение поисковых роботов на сайте. Обычно параметры для поисковиков настраиваются через robots.txt, но в htaccess вы также можете указать несколько настроек, которые помогут вам управлять поведением роботов поисковых систем.
- Настраивать доступ к определенным файлам и папкам. Вы можете устанавливать пароли на определенные директории и файлы. Это поможет вам установить контроль посещаемости и делать документы видимыми только для ограниченного количества людей. Подобные функции помогают вам защитить свой проект от атак хакеров и повысить уровень безопасности.
- Устанавливать более тонкие настройки сервера. С помощью конфигурации вы сможете устанавливать настройки сервера. Например, если у сервера есть какие-то лимиты на загрузку конфигов, с помощью 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 различных значения.
- 301 – документ перемещен навсегда.
- 302 – документ перемещен временно.
- 303 – смотрите другие документы ресурса.
- 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 в WordPress
Сайт
WordPress
Сен 15, 2017
Renat
2хв. читання
Введение
.htaccess — это скрытый файл используемый для хранения конфигурации вашего сайта. С помощью него вы можете переписывать URL адреса, создавать каталоги защищенные паролем, включать доступ к сайту только с определенных IP адресов, изменять часовой пояс вашего сайта или главную страницу и многое другое. В этом руководстве мы расскажем, как найти или создать файл .htaccess в WordPress с помощью Файлового Менеджера в панели управления вашего хостинга.
Оглавление
Что вам понадобится
Перед тем, как вы начнете это руководство, вам понадобится следующее:
- Доступ к панели управления вашего хостинга
Шаг 1 — Поиск и запуск Файлового Менеджера
Пройдите в панель управления вашего хостинга и нажмите иконку Файловый Менеджер в разделе Файлы:
Если вы используете cPanel, Диспетчер файлов может быть найден в разделе Файлы.
Шаг 2 — Поиск файла .htaccess в WordPress с помощью Файлового Менеджера
Файл .htaccess обычно находится в каталоге вашего WordPress в public_html. Вы можете легко получить доступ к файлу и его содержимому, кликнув по нему правой кнопкой мыши и выбрав Редактировать из выпадающего меню:
Если ваш хостинг использует платформу cPanel, процесс более или менее схож.
В случае если вы не можете найти файл . htaccess, поставьте галочку напротив Показать скрытые файлы в настройках Диспетчера файлов:
ВАЖНО! Данные действия применимы только для хостингов на базе cPanel. Другие хостинги могут не иметь данной функции.
Шаг 3 — Создание файла .htaccess
Если даже после изменения настроек файл .htaccess все еще не появился. Просто создайте новый файл, кликнув правой кнопкой мыши на пустом месте в Файловом Менеджере, далее выбрав Новый Файл или нажав соответствующую иконку.
После этого, введите название файла .htaccess и нажмите Создать. После этого вы сможете получить доступ к новому файлу и его содержимому
На хостингах на основе cPanel процесс практически такой же. Для создания нового файла, нажмите кнопку Файл внутри вашего Диспетчера Файлов:
Заключение
В данном руководстве вы узнали, как найти или создать файл . htaccess в WordPress с помощью Файлового Менеджера. Теперь вы можете настроить множество функций, таких как перенаправление, изменение индексных страниц, создание каталогов защищенных паролем и многое другое.
httpd — Что эквивалентно в .htaccess?
спросил
Изменено
5 лет, 8 месяцев назад
Просмотрено
12 тысяч раз
Я настраиваю Trac и хочу защитить паролем страницу входа, как предлагается здесь. Я использую общий хостинг, поэтому я не могу изменить httpd.conf, я должен использовать .htacces. Как ограничить только страницу входа, не ограничивая другие страницы? Документы Trac предлагают:
<Расположение "/trac/логин"> Основной тип авторизации Имя авторизации "Trac" AuthUserFile /где-то/trac. htpasswd Требовать действительного пользователя местоположение>
Но тег Location предназначен только для httpd.conf, он не работает в .htaccess. Как добиться такого же эффекта? Там нет каталога «login», в который можно поместить файл .htaccess, он должен войти в основной каталог trac.
- httpd
- apache-2.2
Это всего лишь предположение, но можете ли вы поместить это в файл .htaccess, за вычетом Теги
и
внутри каталога /trac/login?
Кроме того, убедитесь, что файл htpasswd
находится вне корня документа (обычно public_html), иначе его можно загрузить и взломать.
Оказывается, у dreamhost есть страничка именно по этой проблеме. Краткий ответ: нет хорошего способа сделать это с помощью конфигурации apache, поэтому вместо этого используйте плагин TracAccountManager.
В apache 2.4 это можно сделать, изменив директиву allow override в корневом файле httpd. conf или специально для вашего хоста.
https://httpd.apache.org/docs/2.4/howto/htaccess.html
<Каталог "/www/htdocs"> Разрешить переопределить все Каталог> <Расположение "/trac/логин"> Основной тип авторизации Имя авторизации "Trac" AuthUserFile /где-то/trac.htpasswd Требовать действительного пользователя местоположение>
1
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.
.htaccess — местоположение htaccess — Ошибка сервера
спросил
Изменено
11 лет, 8 месяцев назад
Просмотрено
11 тысяч раз
Мне нужно отредактировать файл htaccess на моем сервере. Проблема в том, что я не могу его найти. Есть идеи, где это будет?
- .htaccess
1
Не надо. Вместо этого отредактируйте основной файл конфигурации Apache. (Я предполагаю, что у вас есть доступ к нему, потому что это ваш сервер) Файл .htaccess
— это файл, который люди могут создать для применения определенных директив конфигурации, когда у них нет доступа к конфигурации основного сервера, но Apache может обрабатывать запросы быстрее и проще, когда ему не нужно возиться с . htaccess
файлов.
В Linux основной файл конфигурации сервера обычно находится по адресу /etc/apache2/httpd.conf
или /etc/apache2/apache2.conf
, и он обычно использует директиву Include
для включения других файлов, которые могут быть в подкаталогах /etc/apache2
. Если вы используете систему, отличную от Linux, я не уверен, где будет файл конфигурации, но он должен быть задокументирован на веб-сайте Apache.
Если у вас нет доступа к конфигурации основного сервера, Файл .htaccess
должен быть создан в каталоге, к которому вы хотите применить его директивы.
2
Возможно, он не существует, но он принадлежит корневому каталогу вашего документа, который может быть /var/www
,
/usr/local/apache2/htdocs
, /var/www/html
или другие. Здесь вы можете увидеть расположение различных дистрибутивов. Вы также можете разместить его в других каталогах, чтобы по-разному управлять частями вашего сайта.
1
Вы создаете файл в каждой папке, к которой хотите применить эти настройки.
Дополнительную информацию см. в документации Apache.
Создайте файл с именем «.htaccess» в корневом каталоге вашей веб-папки и посмотрите, повлияет ли это.
1
Если вы знаете, где начинается ваш веб-корень, то в качестве примера:
find /var/www/html -name .htaccess
Если не знаете, то переборите всю файловую систему:
find/-name .htaccess
Некрасиво, но работает, если вы понятия не имеете, что находится на вашем сервере. Будьте готовы ждать, пока он закипит.
2
Где бы ни находилась ваша папка public/htdocs.
Возможно, у вас нет файла .