Файл.htaccess: что это такое, зачем он нужен, как правильно создать и настроить. Как создать файл htaccess Как запретить просмотр содержимого конкретной папки

Сервер Apache (на котором и находится большинство сайтов) имеет очень полезную возможность задавать определённые настройки сервера для конкретной директории (в частности, для одного сайта). Такой файл называется .htaccess . Однако, создавать его в Windows-системе так просто не получится. В этой статье я расскажу новичкам, как создаётся.htaccess в Windows .

Особенность файла состоит в том, что он не имеет имени, у него лишь расширение. Это норма для Unix-систем , но в Windows это не совсем норма. Итак, порядок действий для создания.htaccess следующий:

  1. Открыть текстовый редактор (Notepad++ или даже обычный Блокнот ).
  2. В меню "Файл " выбрать "Сохранить как ".
  3. В выпадающем списке "Тип файла " выбрать "Все файлы ".
  4. Ввести в качестве имени ".htaccess " (разумеется, без кавычек).
  5. Нажать на кнопку "Сохранить ".

Для новичков кое-что добавлю. В этом файле надо сразу прописать кодировку сайта. Если это UTF-8 :

AddDefaultCharset UTF-8

Если это windows-1251 :

AddDefaultCharset CP1251

Далее этот файл надо поместить в корень сайта, там где находится index-файл (как правило, это index.html или index.php ). Я об этом написал, поскольку у многих новичков проблемы с кодировкой на сайте именно по этой причине.

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

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

Поддерживает ли ваш хостер.htaccess?

Это наверное самый сложный вопрос, на который сразу не ответишь! Иногда хостеры поддерживают.htaccess, только вот своим пользователям запрещают пользоваться этим сервисом. Если же вы на фтп заметили что там присутствует файл.htaccess, тогда не спешите его заменять, и лучше обратитесь в support (службу поддержки). По обычаю, если на сервере установлен Unix или Linux, то сервер поддерживает.htaccess. Я знаю три сайта которые поддерживают.htaccess, это:

Как создать.htaccess файл?

Очень просто. Заходим в Блокнот (Notepad), пишем текст который будет ниже и потом нажмем на "Сохранить Как" ("Save As)", выбираем тип файла "Все Файлы" *.* ("All Files" *.*) и в поле "Имя файла" пишем.htaccess . Если же вы не можете сделать это, то не огорчайтесь и сохраните его просто как.htaccess.txt файл, а когда закачаете на фтп, используя свой ФТП клиент, измените имя на.htaccess .

ВНИМАНИЕ: Перед использованием.htaccess, я вас предупреждаю: даже если используя.htaccess на вашем сервере чрезвычайно нежелательно, т.к. могут возникнуть некоторые проблемы (если что-то неверно, то он просто не будет работать), Вы должны настороженно относиться к Microsoft FrontPage Extensions. Microsoft FrontPage Extensions использует.htaccess, так что не советую вам изменять полностью его (файл.htaccess) или добавлять самому информацию и заменять свой.htaccess на.htaccess сервера. Если уж вас очень приспичило, то посоветую вам сначала скопировать файл.htaccess с сервера и уж потом его там изменять, а то кто знает что вы там сделаете с вашими "кривыми" ручками:-).

Обычные страницы ошибок

В первую очередь, я поведаю вам о том, что можно изменить страницу ошибок. Т.е. те страницы, которые выдаются при ошибке (например 404 Файл не найден) можно настроить под дизайн. Я думаю у каждого веб-дизайнера в глазах загорелась мысль, о том что можно под свой дизайн, на своём фоне с присутствием вашего меню и лого, написать 404 большими красными буквами, чтобы каждый увидел это. Ну вот и приступим. Система такова: ErrorDocument номер ошибки /file.html Допустим мы хотим изменить 404-ую ошибку, тогда пишем следующее: ErrorDocument 404 /notfound.html где notfound.html - файл, который лежит в корневом каталоге и изменен нами! Если же файлы с ошибками лежат в папке /errorpages то пишем в файле.htaccess ErrorDocument 404 /errorpages/404.html.

Вот список самых частых ошибок:

401 - Authorization Required
400 - Bad request
403 - Forbidden
500 - Internal Server Error
404 - Wrong page или File Not Found

Создаем файлы со всеми этими ошибками, и пишем это в файл.htaccess.

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

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

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

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

В данном файле сайтостроители могут:

  • Настраивать директивы простого перенаправления (редиректы). Это позволит после смены домена отправить посетителя со страницы предыдущего сайта на новый проект.
  • Переадресовывать с URL, где есть www, на домен без www . Или же на https после того, как установите ssl сертификат.
  • Описывать ошибки. В их числе и ошибка 404 с заменой на необходимую страницу.
  • Кэширование файлов. Делается с целью ускорения работы веб-ресурса.
  • Создавать ЧПУ. Это «Человеко-понятные УРЛы», то есть, формируются ссылки, понятные для интернет-пользователей.
  • Изменять исходный код страниц.
  • Управлять доступом к файлам и директориям при помощи паролей.
  • Задавать индексный файл.
  • Открывать и закрывать доступ с определенных IP-адресов.
  • Управлять поисковыми ботами на сайте.
  • Настраивать директивы сложного направления.

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

Конфигурации сервера изменяются только с использованием директив (команд), включающих в себя «ключ» и «значение» для него. Все самые важные директивы, позволяющие управлять сервером, находятся в основном файле конфигурации, называющимся httpd.conf. Проблема в том, что у рядового пользователя нет возможности получить к нему доступ, так как там находится большое количество параметров, от которых зависит работоспособность всего сервера. Вот почему актуален.htaccess, позволяющий менять некоторые директивы в главном файле.

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

Где находится.htaccess

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

Но есть у этого метода «скрытия» файла и обратная сторона медали. В стандартных FTP-клиентах на ОС Windows и Mac, документ очень часто остается невидимым для пользователей, из-за чего они ошибочно полагают, что его просто нет. Поэтому человек создает новый файл для внесения своих конфигураций, кодов для обработки ошибок, создания доступа к папкам и пр. Хорошо, что большинство оставляют место на диске, где htaccess-файл уже установлен автоматически.

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

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

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

Как правильно создать.htaccess

Для этого вам понадобится самый обычный текстовый редактор, к примеру, Блокнот, который есть на любом ПК:

  1. Откройте Блокнот, ничего в нем не пишите.
  2. Выберите пункт «Файл» и нажмите «Сохранить как» .
  3. Появится окно, где напротив пункта «Тип файла» выберите « All types» или «Все файлы» .
  4. В строке «Имя файла» введите . htacces и кликните на «Сохранить» .

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

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

Примеры использования

Рассмотрим самые популярные команды для.htaccess.

Редирект

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

Redirect 301 /старый_URL.html http://www.название_вашего_сайта.ru/новый_URL.html

В целом директива будет отображена в таком виде:

Redirect URL_LOCAL URL_REDIRECT

URL_ LOCAL – это старый адрес, с которого осуществляется перенос пользователя.

URL_ REDIRECT – новый URL, куда переносится страница.

В поле [ status] могут быть следующие значения:

  1. 301 – страница перенесена навсегда.
  2. 302 – страница перенесена на время.
  3. 303 – смотрите другую страницу.
  4. 410 – страница удалена.

Mod_rewrite (директивы сложного переноса)

Этот модуль содержится в Apache. В нем есть изобилие самых разных директив для расширенного управления адресами. К основным из них относятся:

1. Указание основного зеркала

Предназначен для того, чтобы преобразовать домен с www на URL без www. Достаточно ввести правило:

RewriteEngine On # включает работу RewriteCond %{HTTP_HOST} ^www.название_вашего_сайта\ru$ #условия для начала перенаправления RewriteRule ^(*)$ http://название_вашего_сайта_/$1 #правило преобразования

2. Перенос на https

На сегодняшний день поисковик Google активно призывает владельцев сайтов к использованию безопасного соединения, для чего необходимо перенаправлять пользователей с http на https при помощи кода:

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URL)

3. Проставление слеша в конце адреса

Если вы не хотите, чтобы URL страницы заканчивался названием каталога http://название_вашего_сайта.ru/catalog , введите в файл код:

RewriteCond %{REQUEST_URI} /+[^\.]+$ RewriteRule ^(.+[^/])$ %{REQUEST_URI}/

Выполнив данную команду, в дальнейшем после адреса в автоматическом режиме будет добавляться слеш: http://название_вашего_сайта.ru/catalog/

4. Перенос домена

Изменив название сайта, не забудьте в.htaccess указать:

RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.yoursite.ru\.ru$ RewriteRule ^(.*)$ http://www.your-site.ru/$1

Оптимизируя сайт и под Яндекс, и под Google, изменение доменного имени может быть чревато неприятными последствиями. Инструкции в robots.txt, предназначенные для Яндекса, перекрываются 301-редиректом. Но этого можно не допустить, добавив в код правило:

RewriteEngine on RewriteCond %{REQUEST_FILENAME} robots.txt$ RewriteRule ^([^/]+) $1 [L] RewriteCond %{HTTP_HOST} ^mysite\.ru RewriteRule ^(.*)$ http://www.my-site.ru/$1

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

В.htaccess, так же, как и в robots.txt, можно закрыть доступ к сайту для роботов поисковых систем:

RewriteEngine on RewriteCond %{USER_AGENT} Googlebot RewriteRule .* - [F] # F – выдает ошибку 403 – запрещено для сканирования

Обработка ошибок

Практически любой интернет-пользователь встречался с ошибкой 404 not found (страница не найдена или удалена). Но есть огромное количество других ошибок, о которых вы наверняка не слышали.

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

ErrorDocument 404 /siteerror404.html

Индексные документы

Когда посетитель заходит на сайт, сразу же открывается индексный файл index.xml. Вы можете заменить индексную страницу на любую другую, дополнив код:

DirectoryIndex name.xml

Либо добавить несколько таких страниц, и поисковик будет находить их в соответствующей последовательности:

DirectoryIndex index.html index.php index.pl

Указание кодировки

Данная функция нужна, чтобы текст отображался на экране пользователя правильно. Иначе вместо нормальной читабельной страницы он будет видеть непонятные символы. Сегодня широко распространена кодировка: Windows-1251 – Кириллица и UTF-8 – двухбайтовая кодировка . Для выбора кодировки в служебном документе, применяется директива:

AddDefaultCharset WINDOWS-1251

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

CharsetSourceEnc WINDOWS-1251

Указание паролей для директорий

Для этого в закрываемом каталоге пропишите:

AuthName "Need password" #сообщение для запроса пароля AuthType Basic #тип аутентификации AuthUserFile /passwords/.psd #имя файла, содержащее пароли для входа Require valid-user #имя пользователей, которым открыт доступ

Доступ к файлам и директориям

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

Deny from all

Для запрета просмотра определенного файла, например, test.php:

deny from all

Открыть просмотр для конкретного IP, и при этом закрыть доступ остальным, позволяет команда:

Order Deny,Allow Deny from all Allow from 12.345.678.90

Заключение

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

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

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

И почему этот.htaccess такой особенный?

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

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

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

Пускай это и тривиально, но все-таки для предотвращения возможных вопросов я хочу добавить, что.htaccess отлично функционирует в любой операционной системе. Вы можете создать конфигурационный файл через любой на своем компьютере. Например, в Windows это «Блокнот», в Mac OS это «TextEdit», в Ubuntu – «Gedit» и т.д.

Каким образом можно создать чудо-файл конфигураций

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


Важные команды

Вот мы и подошли к самому интересному! Первоочередным правилом, которое стоит прописать, это кодировка. Для этого существует вот такая строка:

AddDefaultCharset UTF-8

Если необходимо указать другой вариант кодировки, то ее название вставьте вместо UTF-8.

Еще одна супер-команда – это редирект. Благодаря.htaccess можно легко и быстро установить redirect 301, который позволяет перенаправлять пользователей на другие ссылки, склеивать доменные имена независимо от того есть www или нет.

Так следующие строки кода направят юзеров на сайт coolWeb.com вне зависимости от того есть ли www или нет, а также указана ли в ссылке стартовая страница (coolWeb.com/index.html) или нет.

RewriteEngine on RewriteCond %{ HTTP_REFERER}! ^$ RewriteCond %{ HTTP_REFERER}! ^http://(www\.)? coolWeb.com /.*$ RewriteRule \. (gif|jpg|js|css)$ - [F]

После выполнения данных правил вместо изображений на чужих сайтах будет отображаться сообщение об ошибке (403).

Подведение итогов

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

Для упрощения жизни девелоперам были созданы онлайн-генераторы кода для таких конфигурационных документов. В качестве примера можете ознакомиться с сайтом http://htaccess.ru/generator/ . Сгенерированными правилами можно оперировать и для настройки сайтов, написанных на движках. Таким образом, их можно использовать для WordPress, OpenCard, Joomla! и других.

Надеюсь, вам понравился изложенный мною материал. Жду от вас заявок на подписку. Обязательно делитесь ссылкой на мой блог с друзьями. Пока-пока!

С уважением, Роман Чуешов

Как создать файл.htaccess новичку? Файл.htaccess, как правило, имеет только расширение под Unix — системы. И приносит пользу сайтам под управлением сервера Apache. Htaccess имеет набор правил для определенного сайта на сервере. Которые сервер Apache исполняет во время работы сайта. Благодаря ему, можно указать значительное количество полезных правил для сайта.

Инструкция для создания файла.htaccess:

  1. Для того, чтобы создать этот файл! Достаточно воспользоваться любым доступным текстовым редактором (к примеру блокнотом).
  2. Название (.htaccess) — без кавычек и прочего.
  3. Сохраняем файл.
  4. Затем переносим его на Ваш сервер (хостинг) с помощью FTP клиента. Обязательно в корневую директорию сайта.
  5. Далее его можно редактировать как угодно. Но обязательно обновляйте версию файла на сервере (хостинге).

Содержание статьи:

Особенности настройки файла.htaccess и распространенные ошибки

Именно так, этот файл чаще всего вызывает банальную серверную ошибку 500 Internal Server Error . Редактировать файл необходимо очень осторожно. А также, следовать следующим правилам:

  1. Всегда перед началом редактирования.htaccess файла, сохраняйте его рабочею копию.
  2. Никогда не вносите новые правила на рабочий сайт. Нужна начальная проверка файла.
  3. Кодировка, как правило UTF -8.
  4. Каждое правило нужно писать с новой строчки.
  5. Исключаются те инструкции, которые не обрабатывает сервер Apache. Сразу вызывают серверную ошибку.
  6. Нельзя писать несколько инструкций в одной строке. Ошибка 500 будет Вам обеспечена.
  7. Будьте внимательны! Лишний пробел или символ могут привести к ошибке.

Какое влияние оказывает.htaccess файл на сайт

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

  1. Настройка 301-го редиректа на сайте (распространенное правило). Может использоваться под необходимые задачи.
  2. Настройки хеширования сайта на стороне сервера.
  3. Включение сжатия gzip (сокращенно от GNU Zip). Сжатие файлов на стороне сервера.
  4. Обеспечить защиту сайта: блокировка ip адресов, запреты и прочее.
  5. Указать необходимый объем выделяемой памяти для сайта.

Программы