что такое файл htaccess
Теперь стоит поговорить о некоторых самых популярных параметрах настойки:
Запреты и разрешения
Запрет на все файлы в каталоге:
Доступ только с определенного IP:
Запретить доступ для определенного ip:
Запрет доступа на группу файлов по расширению (по маске):
Разрешение или запрет на чтение по расширению.
Запрет на доступ к файлам *.inc:
Запрет доступа на конкретный файл:
Запрет на чтение conf.inc.php посетителями сайта не запрещает локальным приложениям сервера читать этот файл.
Такое значение AuthName для посетителей будет выводиться во всплывающем окне. Значение AuthUserFile указывает серверу, где хранится файл с паролями для доступа. такой файл можно создать специальной утилитой htpasswd в операционной системе linux или htpasswd.exe в ОС Windows.
Пароль только на 1 файл:
Пример установки пароля на файл file.rar:
Пароль на группу файлов по расширению:
Перенаправление при запросе определенных каталогов и страниц:
Переопределение стартовой страницы
Обработка ошибок сервера
код 401 — Требуется авторизация (Authorization Required)
код 403 — Нет доступа (Forbidden)
код 404 — Не найден файл (File not found)
код 500 — Внутренняя ошибка сервера (Internal Server Error)
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
Выставить полный запрет на просмотр оглавления необходимой директории. То есть, если в каталоге dir/ нет файла Index.*, что бы он загружался автоматически, то при обращении пользователя к dir/, ему будет отказано в доступе и Apache выдаст ошибку 403.
Иногда необходимо установить кодировку по умолчанию, то есть default-кодировка. В какой кодировке сервер будет отдавать документы.
А так же установка необходимой кодировки на файлы на сервере:
Файл htaccess: применение, включение, настройка
Отметим, что в большинстве случаев такой файл используется для создания 301 редиректа со старых URL на новые, переназначения типов файлов, управляемого доступа к каталогам. Основным преимуществом htaccess является тот факт, что он дает возможность отказаться от работы с основным файлом конфигураций.
Из этой статьи вы узнаете:
Рекомендуемые статьи по данной теме:
Теперь перечислим тонкости работы с htaccess:
Редирект между страницами или сайтами
Помните, чтобы редирект мог работать, перед строками, о которых мы еще скажем, прописывают:
Допустим, речь идет о перенаправлении с http://www.site.com на http://site.com. Отметим, что это очень полезный ход, и он нередко применяется в СЕО. Для этого есть код:
Обратный редирект с домена без www на домен с www
Эта операция также в принципе возможна, но мы не рекомендуем ее применять. В этом случае:
RewriteCond %
RewriteRule ^(.*)/$ /$1.html [R=301,L]
Чтобы осуществить обратное перенаправление с site.com/page.html на site.com/page:
Допустим, изначально адрес выглядел как site.com/page/, а теперь он представлен таким образом: site.com/page, тогда нам нужно:
RewriteRule ^(.+)/$ /$1 [R=301,L]
Нам необходимо, чтобы со всех страниц определенного раздела site.com/razdel-1/razdel-2/page посетитель сайта попадал на страницы другого раздела site.com/razdel-1/page, прописываем:
RewriteCond %
Что такое файл htaccess и зачем он нужен?
Итак, пользователь самостоятельно задает адрес, либо кликает на ссылку. Таким образом, он отправляет соответствующий запрос на сервер хостера. И получает ответ с кодом. При бесперебойной работе придут коды 1-399, а при ошибке цифры будут такими: 400-599. Представим простую ситуацию: сервер вашего сайта перегружен, либо происходит перезагрузка. На мониторе, если человек пытается зайти на сайт, отобразится, например, 500 Internal Server Error. Рядовому пользователю эти слова не понятны, он резонно решит, что сайт уже устарел и закрыт. Эффект от этого один – человек к вам уже не вернется.
Из этого есть выход. Стандартную страницу ошибки (пугающую людей) замените на вашу отдельную страницу. Там будет содержаться информация: сайт не действует на данный момент, но вскоре продолжит работать, и на него стоит заглянуть еще раз. Интересный пример – сайт КиноПоиск. При перегрузке серверов, в соответствии с тематикой, здесь отображается сообщение «Матрица перезагружается. » и изображение из культового фильма.
Чаще всего, чтобы решить такую проблему, создают собственную страницу, призванную заменить стандартную, но непонятную непосвященным людям 404-ошибку. Ее видит пользователь, когда пытается ввести адрес несуществующей страницы.
Уточним нюанс: чтобы заменить страницу ошибки 403, нужно прописать сообщение:
ErrorDocument 403 «Sorry can’t allow you access today, see you later alligator :)»
Повышение безопасности сайта возможно по многим направления, благодаря данному расширению. Далее назовем сферы, в которых такой файл используется на практике чаще всего:
Файл htaccess – что это, где он находится и зачем нужен
Доброго времени суток, дорогие читатели!
Сегодня я расскажу про файл htaccess, который выполняет очень важную роль на сайте. Именно через этот конфиг вы будете настраивать различные редиректы, прописывать используемый протокол и выполнять другие важные задачи. Без него нормальный ресурс просто не будет работать должным образом.
В материале мы поговорим об этом чуть подробнее. Также я расскажу о том, как создать и настроить этот конфиг. Давайте начинать!
Что такое htaccess
Этот файл очень важен для любого сайта, потому что именно с его помощью воспроизводится настройка очень важных параметров. Для статейных ресурсов этот конфиг тоже имеет очень большое значение, потому что тут есть определенные функции, которые помогают корректировать работу ресурса.
Если вы будете оптимизировать свой ресурс под поисковые системы, то тщательная настройка htaccess станет неотъемлемой частью данного процесса. Именно с помощью этого файла вы сможете настраивать конфигурацию сервера, на котором расположен ваш сайт. Делается это при помощи специальных команд, которые вносятся напрямую в конфиг.
Htaccess – это обычный конфигурационный файл, где содержатся настройки определенного типа. Обычно там размещают информацию о редиректах (например, переадресацию на защищенный протокол https), параметры сервера и компонентов, которые на нем установлены и т. д.
Также с помощью него вы сможете настраивать доступ к файлам сайта, изменять параметры перенаправлений на страницу 404 (когда на ресурсе нет какого-то документа, он должен отдавать страницу с ошибкой 404, где будет указана эта информация), блокировать определенные IP-адреса и т. д.
Чаще всего htaccess создается автоматически. Например, если вы установите WordPress на виртуальный хостинг, то этот конфиг появится сам собой, так как платформой предусмотрено использование параметров, которые занесены в базовую версию этого файла. Обычно там указываются стандартные рекомендованные параметры хостинга для комфортной работы CMS.
При желании вы можете изменить эти параметры, но если что-то сделать не так, то ресурс может попросту перестать работать. Именно поэтому этот небольшой файлик должен настраивать понимающий человек. Он должен четко понимать, за что отвечает каждая строка конфигурационных команд.
В других платформах и CMS htaccess тоже очень часто создается автоматически. Именно с теми параметрами, которые нужны для комфортной работы системы.
Если говорить конкретно о WordPress, то чаще всего прямая настройка данного конфига не требуется. Стандартный вариант подходит для большинства ресурсов. Иногда изменения в этот конфиг вносят различные плагины или сам WordPress, если вы будете менять настройки. Сам же пользователь обычно и не подозревает о том, что у него есть такой конфиг.
В некоторых случаях этот файл нельзя изменить. Обычно подобное встречается на дешевых маломощных серверах, где владельцы пытаются вытрясти со своих пользователей деньги даже за возможность редактирования htaccess. Сайт не будет адекватно работать на таком хостинге, потому что в некоторых случаях может понадобиться изменение конфига.
А если этого будет сделать нельзя, то вы просто не сможете установить какой-то плагин, настроить редирект или прописать любой другой параметр. Лучше всего найти нормальный хороший хостинг по приемлемой цене, чтобы подобных проблем не возникало.
Подведем промежуточные итоги, чтобы вам было понятнее. С помощью htaccess вы сможете:
В общем, у htaccess есть и несколько других возможностей. Например, вы сможете настроить индексацию, изменить код сайта и т. д. По сути, это очень важный конфиг, который определяет работу сервера. Но это не основной набор настроек. Есть и другой файл, который содержит в себе уже все параметры сервера. Доступ к нему имеют только администраторы хостинга. Простой вебмастер не сможет получить к нему доступ.
Но с помощью htaccess он все же сможет влиять на работу сервера, используя для этого простые команды. То есть данный файл нужен как раз для вебмастеров, которые хотят что-то настроить на арендованном ими хостинге. Доступ к основным параметрам не требуется, вебмастер не сможет поломать сам сервер и навредить кому-то еще в случае, если он использует виртуальный хостинг.
Все параметры конфига имеют определенный вид: ключ и определенное значение, которое и определяет настройки для того сайта, где находится этот конфиг. Обычно htaccess помещается прямо в корень ресурса. Если переместить его в какой-то каталог, то настройки будут действовать исключительно на него. То есть параметры, которые заносятся в этот конфигурационный документ, действуют на те файлы и папки, которые расположены с ним в одном месте.
Помещаем документ в корень, и он действует на весь проект (все папки и их содержимое), помещаем куда-то внутрь, и будет работать только с теми папками и файлами, которые расположены с ним на одном уровне или ниже.
Где расположен htaccess
Обычное дефолтное расположение этого документа – корень сайта. Каких-то примеров локального использования конфига только для определенных папок внутри сайта я не видел. Чтобы обнаружить этот документ, вам достаточно зайти в файловый менеджер вашего хостинга или же воспользоваться FTP-клиентом.
Htaccess будет расположен прямо в корне (/public_html, если это виртуальный хостинг). Его можно будет открыть с помощью любого текстового редактора.
Для редактирования этого конфига, конкретно на хостинге Timeweb, вы должны просто кликнуть по нему несколько раз. Он откроется во встроенном редакторе, вам останется просто изменить параметры, удалить или добавить лишние строчки.
Также вы можете просто скачать его и открыть при помощи любого редактора на вашем компьютере.
Но если вы хотите изменить этот файл на WordPress, то вам совсем не обязательно заходить на хостинг и открывать его там. Достаточно будет просто зайти в настройки плагина Yoast SEO, перейти во вкладку “Инструменты”. Содержимое конфига будет доступно прямо там, в специальном окне. Вы сможете легко его менять, и все изменения будут автоматически заноситься в настоящий конфиг.
Такой вариант можно считать более оправданным, потому что никаких лишних забот тут нет. Но стоит заметить, что далеко не все используют плагин Yoast SEO. В других SEO-плагинах также есть похожие возможности.
Его можно сделать при помощи встроенных инструментов (в том же файловом менеджере, например) либо же создать конфиг на своем компьютере и уже после загрузить на хостинг при помощи инструментов или FTP-клиента.
В некоторых случаях этот документ нельзя будет загрузить или создать прямо на хостинге. Это значит, что у этой конкретной компании данный конфиг использовать нельзя. Вы можете убедиться в этом, если напишете в техническую поддержку. Настройки таких серверов менять нельзя, как правило, они устанавливаются на самый минимум.
Возможно, в будущем у вас всплывут и другие проблемы, поэтому я рекомендую менять хостинг, если он не дает возможность вам настроить дополнительные параметры.
Создаем htaccess на компьютере
Для создания такого документа вы можете использовать любой текстовой редактор, который установлен на вашем ПК. Можно воспользоваться даже простым Блокнотом, который установлен в качестве стандартного софта на Windows.
Кликните правой кнопкой мыши на свободном месте рабочего стола, после чего выберите “Создать” – “Текстовый документ”. На рабочем столе появится файлик с названием “Новый текстовой документ”. Откройте его, но ничего не вводите.
Далее, просто наведите курсор в левый верхний угол, найдите там пункты меню “Файл” – “Сохранить как”. Откроется окно сохранения, где будет необходимо выбрать папку для сохранения (можно сохранить прямо на рабочий стол), ввести название и выбрать тип файла.
В поле “Имя файла” вводим “.htaccess”. В раскрывающемся меню “Тип файла” выбираем “Все файлы”. Далее, жмем на кнопку сохранить. Все, документ создан.
Обратите внимание, что он не должен иметь расширение. То есть не должно быть, например, “.htaccess.txt”.
Если все хорошо, вы можете загружать его на хостинг. Либо же оставить для занесения каких-то параметров.
Примеры команд
Теперь я расскажу о наиболее популярных примерах использования команд у этого конфига. Они могут использоваться как для HTML-сайта, так и для проекта на платформе. Каждая команда может сломать ваш проект, поэтому будьте максимально аккуратны при настройке.
Переадресация
С помощью переадресации вы сможете отправлять пользователей с одного адреса на другой. Команда выглядит таким образом.
Redirect 301 /старый_адрес.html http://www.site.ru/новый_адрес.html
Вы можете менять значения, которые выделены жирным. Например, вместо 301-го редиректа вы можете использовать другой. Всего есть 4 различных значения.
Mod_rewrite – настройка сложных редиректов
Это специальный модуль, который позволяет настраивать переадресацию на какой-то конкретный протокол или домен определенного вида (с www или без него, к примеру). Данный модуль работает только на серверах Apache, поэтому далеко не каждый хостинг будет это поддерживать.
RewriteCond %
Вместо site.ru должен быть ваш домен. Если вы введете это в конфигурационный документ, ваш сайт будет перенаправлять пользователей с www на обычную версию ресурса. Допустим, человек попытается перейти на www.site.ru/stat1, его сразу же перекинет на site.ru/stat1. Вот так это и работает.
Если вы установили SSL-сертификат и хотите, чтобы все страницы проекта открывались через защищенное соединение, вам необходимо просто прописать эти строчки.
Менять в этом коде ничего не нужно, все будет работать именно в таком виде.
Если вы решили сменить домен и хотите, чтобы на ваш проект могли переходить по старому адресу, то вы можете просто настроить перенаправление с помощью этих строчек.
RewriteCond %
Вы можете изменить название сайта, добавив или убрав определенные варианты. Например, вы можете настроить редирект сразу на сайт с https. Также вы можете изменить домен на вариант без www.
С помощью этих строчек вы можете запретить поисковому роботу индексировать ваш сайт. Просто пропишите следующие строки.
RewriteCond %
Вместо Googlebot вы можете ввести название любого другого поискового робота. При обращении к вашему домену поисковый робот будет получать ошибку. Проиндексировать сайт он никак не сможет.
Заключение
Как видите, htaccess – это очень важный файл, который помогает контролировать работу сервера. Это не основной конфигурационный документ, но с его помощью также можно настраивать определенные параметры оборудования. Также при помощи этого документа вы сможете настраивать различные редиректы, без которых сейчас не обойдется ни один нормальный сайт.
Настройка этого конфига – дело важное и требующее определенного понимания. Если вы что-то неверно введете, то велика вероятность, что ваш ресурс просто перестанет открываться. Он будет просто выдавать ошибку, и для исправления вам придется заходить на хостинг и сбрасывать все изменения этого документа.
Если вы вебмастер, который интересуется заработком на информационных сайтах, то я советую заглянуть на курс для вебмастеров от Василия Блинова. В этом обучающем материале вы сможете найти подробные уроки о том, как создать свой собственный проект под монетизацию, как оптимизировать его под поисковые системы и организовать всю работу своего сайта.
.htaccess
При изменении файла новый набор настроек сразу начинает работать и не требует перезагрузки web-сервера.
Провайдер хостинга может запретить применение определенных директив в целях безопасности или снижения нагрузки на сервер. Названия директив может меняться, в зависимости от используемой на сервере провайдера версии Apache.
Директива должна иметь вид:
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
/var/www/ по необходимости нужно заменить на свою директорию сайта.
После внесения изменений не забудьте перезагрузить веб-сервер, предварительно проверив корректность конфигурации:
Если вывод будет Syntax OK, то выполните: service httpd restart.
Провайдеры по умолчанию включают эту настройку для папок с сайтами пользователей на виртуальном хостинге, а владельцам VPS/VDS и выделенных серверов нужно самостоятельно проверить у себя наличие такой конфигурации в Apache.
Каждая строка файла означает определенную команду конфигурации (директиву) Apache.
Пустые строки игнорируются.
Для этого нажмите правой кнопкой мыши на файл, чтобы открыть контекстное меню с пунктом “Просмотр/Правка”.
Filezilla использует для редактирования текстовый редактор Notepad++, который должен быть установлен на локальный компьютер.
В случае, если файла в папке сайта нет, создайте его самостоятельно.
Ниже будут рассмотрены наиболее востребованные из настроек в контексте web-хостинга.
Механизм перенаправления (редиректа) запросов
Затем следует перечень специальных команд для настройки перенаправления, в зависимости от конкретных условий.
В своей работе механизм перенаправления mod_rewrite применяет специальную технологию программирования regexp для сравнения запросов с определенным шаблоном.
Склейка разных адресов одного сайта
RewriteEngine On
RewriteCond %^www.mysite\.ru$ [NC]
RewriteRule ^(.*)$ http://mysite.ru/$1 [R=301,L]
Перенаправление с HTTP-версии сайта на HTTPS-версию
Поисковые системы поощряют переход сайтов на безопасный режим HTTPS и дают ресурсам с поддержкой этого протокола лучшие результаты в поисковой выдаче.
Перенаправление страницы на другой адрес (URL)
Redirect 301 /старая-страница.html http://сайт.рф/новая-страница.html
В случае переезда сайта на новый домен, настройте переадресацию пользователей на новый доменный адрес командой:
Иногда для правильной обработки страниц поисковыми системами требуется убрать слэш (символ “/”) в конце адреса страницы.
Например, было mysite.ru/page/, стало mysite.ru/page.
Подмена страниц на сервере
Это “серая” методика, и мы рассказываем о ней, чтобы вы знали, как это делается, но мы не рекомендуем ее применять.
Если web-сервер не находит нужный файл (страницу) при запросе к сайту по определенному адресу, то он отвечает специальной ошибкой 404. Используемая по умолчанию страница с ошибкой 404 малоинформативна.
То же происходит в случае ошибок 400 (неправильный запрос), 500 (ошибка сервера) и других распространенных ошибочных состояний web-сервера.
Чтобы у пользователя было больше информации, можно настроить свои собственные страницы для обработки ошибок web-сервера с возможностью навигации по сайту. На странице может быть указано, что человек перешел по несуществующей ссылке, и предложение поискать нужную информацию на сайте, а не уйти с него.
Например, на сайте ru.hostings.info используется такая страница обработки ошибки 404.
ErrorDocument 400 http://mysite.ru/400.html
ErrorDocument 404 http://mysite.ru/404.html
ErrorDocument 500 http://mysite.ru/500.html
Если нужно указать специальную страницу для обработки ошибки 403 (“доступ запрещен”), то нужно будет указать также текстовое сообщение, которое будет показано посетителю:
ErrorDocument 403 «Access forbidden / Доступ запрещен»
Защита сайта от атак
#Включает отслеживание сим-ссылок
Options +FollowSymLinks
#Запускает url_rewriting
RewriteEngine On
#Блокирует все ссылки, содержащие
30 октября 2017 Опубликовано в разделах: Азбука терминов. 7819
Файл лежит в корневой папке. Таким образом он действует на все содержимое вложенных папок. Когда для какого-то каталога требуется сделать отдельные настройки, в него можно поместить еще один htaccess.
Он будет приоритетным для данного каталога по сравнению с общим файлом, лежащем в корневой папке.
Доступ к содержимому сервера осуществляется через любую программу-клиент типа Total Commander, FileZilla. Если у вашего хостинг-провайдера в системе управления есть файловый менеджер, там также откроются все файлы.
Он разработан в дополнение к основному файлу настроек httpd.conf. У последнего – жесткие ограниченные права доступа в связи с тем, что он содержит значительное число параметров, влияющих на жизнеспособность вебсервера.
Корректировки, внесенные в файл-помощник, применятся сразу после заливки, в то время как для актуализации изменений основного файла потребуется перезагрузка сервера.
Как создать htaccess и сделать это правильно
Нужно открыть любой текстовый редактор, например, Notepad ++ (можно скачать в свободном доступе).
Создать новый файл, задать кодировку через соответствующий пункт меню.
В разделе «Правка» – «Формат конца строки» изменить формат, как показано на скриншоте
Сохранить через пункт меню «Сохранить» как или ctrl+S. В появившемся окне выбрать директиву для сохранения «All types» (все типы),
Как убедиться, что создали правильный документ? Загружаете файл на сервер в корневую папку и смотрите, не упал ли он. Если нет ошибки 500, все хорошо и можно заполнять дальше.
Впоследствии можно использовать любой текстовый редактор, если вы пользуетесь Total Commander, выберите файл и нажмите F4.
Примеры htaccess
Рассмотрим наиболее популярные и востребованные опции.
Переадресация через директиву Redirect.
Так называемый 301-й редирект. Прописывается при переезде веб-сайта на новый домен. Нужен, чтобы не потерять аудиторию, которая перейдет по старому адресу сайта.
Перенаправление домена с www на без www.
Применяют, когда нужно склеить домены, чтобы трафик шел на главное выбранное зеркало при вводе любого варианта адреса в строку поиска.
Соответственно, если главное зеркало с www
Редирект со страниц со слешем на без слеша.
Один общий редирект на без www и с «/».
Переадресация htaccess адреса site.ru/index.php на основное зеркало site.ru
Редирект на разные страницы в зависимости от IP-адреса.
Можно задать страницу, куда перенаправят конкретного посетителя с учетом его айпишника.
Постранично с одного домена на страницы другого url.
Редирект с протокола http на https.
Можно задать диапазон.
Что учесть при настройке htaccess
Перед тем как править файл, сделайте копию. Если что-то испортите, сможете откатить на стартовую.
В этой статье мы рассказали, что это такое – htaccess и как правильно с ним работать. Помните, что существуют разные вариации протокола для различных CMS, поэтому всегда обращайте внимание на эту особенность.
– Только качественный трафик из Яндекса и Google
– Понятная отчетность о работе и о планах работ
– Полная прозрачность работ