Зачем нужен файл 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 или без него, к примеру). Данный модуль работает только на серверах Apache, поэтому далеко не каждый хостинг будет это поддерживать.
- Основное зеркало.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
RewriteRule ^( *)$ _/$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)
Менять в этом коде ничего не нужно, все будет работать именно в таком виде.
- Редирект на другой домен.
Если вы решили сменить домен и хотите, чтобы на ваш проект могли переходить по старому адресу, то вы можете просто настроить перенаправление с помощью этих строчек.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.site.ru\.ru$ [NC]
RewriteRule ^(.*)$ /$1 [R=301,L]
Вы можете изменить название сайта, добавив или убрав определенные варианты. Например, вы можете настроить редирект сразу на сайт с https. Также вы можете изменить домен на вариант без www.
- Запрет индексирования для определенного поискового робота.
С помощью этих строчек вы можете запретить поисковому роботу индексировать ваш сайт. Просто пропишите следующие строки.
RewriteEngine on
RewriteCond %{USER_AGENT} Googlebot
RewriteRule .* — [F]
Вместо Googlebot вы можете ввести название любого другого поискового робота. При обращении к вашему домену поисковый робот будет получать ошибку. Проиндексировать сайт он никак не сможет.
Заключение
Как видите, htaccess – это очень важный файл, который помогает контролировать работу сервера. Это не основной конфигурационный документ, но с его помощью также можно настраивать определенные параметры оборудования. Также при помощи этого документа вы сможете настраивать различные редиректы, без которых сейчас не обойдется ни один нормальный сайт.
Настройка этого конфига – дело важное и требующее определенного понимания. Если вы что-то неверно введете, то велика вероятность, что ваш ресурс просто перестанет открываться. Он будет просто выдавать ошибку, и для исправления вам придется заходить на хостинг и сбрасывать все изменения этого документа.
Если вы вебмастер, который интересуется заработком на информационных сайтах, то я советую заглянуть на курс для вебмастеров от Василия Блинова. В этом обучающем материале вы сможете найти подробные уроки о том, как создать свой собственный проект под монетизацию, как оптимизировать его под поисковые системы и организовать всю работу своего сайта.
iklife.ru
что это, для чего нужен, пример блокировки, настройки, кодировки и переадресации
Мы увеличиваем посещаемость и позиции в выдаче. Вы получаете продажи и платите только за реальный результат, только за целевые переходы из поисковых систем

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».
Подпишись на рассылку и получи книгу в подарок!
Файл .htaccess – это служебный документ, содержащий расширенные настройки для работы с веб-сервером Apache и аналогичными. Позволяет вносить изменения в работу сайта.
Где искать .htaccess
Файл лежит в корневой папке. Таким образом он действует на все содержимое вложенных папок. Когда для какого-то каталога требуется сделать отдельные настройки, в него можно поместить еще один htaccess.
Он будет приоритетным для данного каталога по сравнению с общим файлом, лежащем в корневой папке.
Доступ к содержимому сервера осуществляется через любую программу-клиент типа Total Commander, FileZilla. Если у вашего хостинг-провайдера в системе управления есть файловый менеджер, там также откроются все файлы.
Для чего нужен .htaccess
Основное предназначение файла .htaccess – настройка сайта и каталогов с учетом особых требований. Он позволяет изменять настройки сервера без прав администратора. Это дает более гибкие возможности сеошникам и программистам.
Он разработан в дополнение к основному файлу настроек httpd.conf. У последнего – жесткие ограниченные права доступа в связи с тем, что он содержит значительное число параметров, влияющих на жизнеспособность вебсервера.
Корректировки, внесенные в файл-помощник, применятся сразу после заливки, в то время как для актуализации изменений основного файла потребуется перезагрузка сервера.
Файл дополнительной конфигурации .htaccess позволяет делать следующие действия:
- Настраивать редиректы. Например, перенаправление со страниц старого сайта на новые при смене домена.
- Выполнять переадресацию с www на без www, либо после установки ssl сертификата на https.
- Обрабатывать ошибки, в том числе 404 с подменой нужной страницей.
- Ускорять работу сайта с помощью кэширования .htaccess.
- Формировать ЧПУ – урлы (URL), интуитивно понятные пользователям.
- Менять кодировку страниц.
- Осуществлять допуск к файлам с использованием аутентификации.
Как создать htaccess и сделать это правильно
Нужно открыть любой текстовый редактор, например, Notepad ++ (можно скачать в свободном доступе).
Создать новый файл, задать кодировку через соответствующий пункт меню.
В разделе «Правка» – «Формат конца строки» изменить формат, как показано на скриншоте
Сохранить через пункт меню «Сохранить» как или ctrl+S. В появившемся окне выбрать директиву для сохранения «All types» (все типы),
Имя файла вписать .htaccess. Сохранить.
Как убедиться, что создали правильный документ? Загружаете файл на сервер в корневую папку и смотрите, не упал ли он. Если нет ошибки 500, все хорошо и можно заполнять дальше.
Если ошибка высветилась, пройдите еще раз путь заново, сверяя каждый этап. Причины могут быть в формате переноса строк или кодировке .htaccess – чаще всего «ругается» именно на нее.
Впоследствии можно использовать любой текстовый редактор, если вы пользуетесь Total Commander, выберите файл и нажмите F4.
Примеры htaccess
Рассмотрим наиболее популярные и востребованные опции.
Переадресация через директиву Redirect.
Так называемый 301-й редирект. Прописывается при переезде веб-сайта на новый домен. Нужен, чтобы не потерять аудиторию, которая перейдет по старому адресу сайта.
Перенаправление домена с www на без www.
Применяют, когда нужно склеить домены, чтобы трафик шел на главное выбранное зеркало при вводе любого варианта адреса в строку поиска.
Соответственно, если главное зеркало с www
Редирект со страниц со слешем на без слеша.
Один общий редирект на без www и с «/».
Переадресация htaccess адреса site.ru/index.php на основное зеркало site.ru
Редирект на разные страницы в зависимости от IP-адреса.
Можно задать страницу, куда перенаправят конкретного посетителя с учетом его айпишника.
Постранично с одного домена на страницы другого url.
Редирект с протокола http на https.
Блокировка IP через .htaccess.
Можно задать диапазон.
Что учесть при настройке htaccess
Перед тем как править файл, сделайте копию. Если что-то испортите, сможете откатить на стартовую.
Особенности синтаксиса:
- для закомментированной информации ставьте значок #;
- в доменах всегда указывайте протокол http:// или https://;
- путь к файлам прописывайте от корня сервера.
В этой статье мы рассказали, что это такое – htaccess и как правильно с ним работать. Помните, что существуют разные вариации протокола для различных CMS, поэтому всегда обращайте внимание на эту особенность.
semantica.in
Что такое htaccess и почему этот файл обладает таким большим значением?
На сегодняшний день Apache является наиболее распространенным среди HTTP серверов. Распространяется данное программное обеспечение абсолютно бесплатно, и поддерживает сценарии CGI, Perl, PHP и Java.
В апреле 1996 года этот сервер стал самым популярным в сети, а в августе 2007 года он стал основным сервером для 51% всех сайтов сети.
Htaccess — представляет собой файл, содержащий дополнительные конфигурации для популярнейшего сервера Apache, а также многих других подобных ему серверов.
Именно с помощью этого файла задается множество дополнительных параметров и разрешений, которые используют в своей работе веб-сервера для отдельных пользователей или даже для отдельных папок пользователей. Это могут быть такие действия как переназначение типов используемых файлов, управление допуском для отдельных пользователей и т.д.
Все эти изменения, прописанные в файле htaccess, позволяют делать все необходимое, не предоставляя пользователю доступа к главному файлу конфигурации, то есть все изменения, прописанные в этом файле, не оказывают воздействия на работу сервера в целом.
Htaccess является файлом, очень напоминающим по своим возможностям файл httpd.conf, с тем различием, что htaccess распространяет свое влияние только на каталог, в котором расположен и на каталоги дочерние ему. Использовать htaccess можно в любом каталоге пользователя.
Располагаться такой файл может в любом из каталогов, и его директивы будут распространять свое влияние на все файлы каталога, в котором он расположен, и на все файлы подкаталогов данного каталога, в том случае, если в подкаталогах данные директивы не подвергаются переопределению в файлах htaccess, принадлежащих этим подкаталогам.
Директивы, которые могут быть внесены в файл htaccess, открывают перед каждым пользователем широкий перечень возможностей в области настроек сайта, в число которых входят:
- Директивы перенаправления простого типа;
- Директивы перенаправления сложного типа;
- Индексные страницы;
- Вывод ошибок php htaccess;
- Кодировка страницы;
- Управление параметрами доступа;
- Создание паролей для определенных директорий;
- Параметры PHP.
Алгоритм создания подобного файла выглядит следующим образом:
- Откройте «Блокнот».
- Убедитесь, что в настройках программы (в меню формат), функция переноса слов отключена.
- В меню файл выберете команду «создать» и создайте новый документ.
- Далее, в том же меню выберете пункт «Сохранить как», вручную вбейте тип файла .htaccess, как показано на рисунке ниже, и сохраните файл в необходимом каталоге.
Ваш файл готов, теперь необходимо его загрузить на ваш сайт.
Существует еще один способ создания файла htaccess с помощью программ Total Commander или FileZilla.
- Создаем в любом текстовом редакторе файл htaccess с расширением txt.
- C помощью программы Total Commander или FileZilla находим этот файл и нажимаем правой кнопкой мыши на его имени. Из выпадающего меню выбираем команду «переименовать».
- Переименовываем htaccess.txt в .htaccess и сохраняем внесенные изменения.
В некоторых случаях браузер не может самостоятельно определить, каким образом следует кодировать представленный документ для того, чтобы отобразить его корректно.
Чтобы решить данную проблему, используемый тип кодировки указывается в Web настройках сервера Apache и в заголовке того документа, который необходимо отобразить.
Причем для того, чтобы браузер смог отобразить файл правильно обе эти кодировки должны полностью совпадать. В заголовках русскоязычных веб-страниц наиболее часто встречаются следующие типы кодировок:
- Windows-1251;
- KOI8-r;
- Cp866;
- Windows-1252;
- Windows-1250;
- UTF-8.
Давайте рассмотрим, каким образом можно указать, какая кодировка необходима для сайта по умолчанию через файл под названием htaccess. Команда AddDefaultCharset задает таблицу символов или как ее принято называть кодировку, для каждой выдаваемой браузером страницы сайта на сервере.
Для того чтобы указать кодировку, в которой браузер будет отображать станицу, нужно использовать команду: «AddDefaultCharset
UTF-8».
Во время загрузки файла на сервер существует возможность его перекодировки. Для перекодировки следует указать, что все получаемые файлы будут обладать кодировкой UTF-8. Для того чтобы передать данную кодировку всем загружаемым на сервер файлам вводим команду: «CharsetSourceEnc UTF-8».
В случае, если вам необходимо отменить перекодировку файла сервером вносим команду: «CharsetDisable on».
Модуль mod_rewrite, который имеется в составе сервера Apache, представляет собой мощнейшее средство, позволяющее преобразовывать URL-адреса. С его помощью реальными становятся любые преобразования, которые могут либо выполняться, либо не выполняться в зависимости от условий и факторов их наступления.
Данный модуль представляет собой разносторонний механизм, основанный на различных правилах и командах, более научным языком его называют синтаксическим анализатором, для работы которого применяются регулярные выражения, исполняющие преобразования URL.
Но использование данного механизма заметно увеличивает загруженность сервера, поэтому не стоит злоупотреблять данным модулем.
Для того чтобы включить механизм преобразования сетевых адресов, следует прописать в директиве RewriteEngine значение on таким образом: «RewriteEngine on». А вот установка значения off отключает данный модуль.
Директива RewriteRule определят набор правил для преобразования. Она обладает следующим синтаксисом: RewriteRule (шаблон поискового запроса) (строка используемая в качестве замены) [флаги].
В качестве шаблона поискового запроса выступают регулярные выражения, которые применяются к URL. А в роли строки, используемой в качестве замены, могут указываться текст, ссылки или значения серверных переменных.
Для начала хотелось бы отметить, что настройка ЧПУ именно через файл htaccess обладает некоторыми преимуществами. С помощью файла htaccess можно быстро внести изменения и произвести откат, если что-то пошло не так.
Структура файла htaccess позволяет вносить изменения в любые URL, в том числе и URL с любым уровнем вложенности адресной строки.
Настройка htaccess для правильного функционирования заключается в необходимости прописать в файле htaccess«RewriteEngine On», чтобы заставить работать все прописываемые команды.
Существует несколько основных типов адресов страниц, а значит и несколько способов превращения этих адресов в ЧПУ.
1. Простые URL адреса типа: http://www.primer.ru/page.html
Чтобы подобный адрес превратить в URL вида http://www.primer.ru/page/ необходимо в имеющийся файл htaccess внести следующую команду: «RewriteRule ^page/$ page.html [L]».
А для того чтобы поисковая система не смогла заменить этот адрес на адрес со слэшем в окончании и без него немного модернизируем внесенный код:
«RewriteRule ^page$ page/ [R=301,L] RewriteRule ^page/$ page.html [L]».
2. Адреса с GET-параметрами, которые выглядят следующим образом http://www.primer.ru/index.php?id=4&cid=16.
В данном случае кроме самого адреса команде необходимо будет получить еще и Get-параметры. В адресе, приведенном в примере, существуют id и cid параметры, которые наделены значениями 4 и16. Чтобы из данного адреса сделать адрес вида http://www.primer.ru/getparam прописываем такие команды:
«RewriteRule ^getparam$ getparam / [R=301,L] RewriteRule ^ getparam /$ index.php?id=4&cid=16 [L]»
Если подобная конструкция в htaccess не работает из-за особенностей сервера и того как произведена настройка файла htaccess следует прописать данную команду немного иначе:
«RewriteCond %{QUERY_STRING} ^id=4&cid=16$ RewriteRule ^index.php$ http://www.primer.ru/getparam? [R=301,L] RewriteRule ^ getparam /$ http://www.primer.ru/getparam? [R=301,L] RewriteRule ^ getparam id=4&cid=16»
В данном случае исполнение команды будет зациклено, о чем браузер обязательно вам сообщит, и чтобы этого не произошло, следует немного преобразить строку:
«RewriteRule ^ getparam id=4&cid=16&xxx=1»
Таким образом, с помощью файла htaccess, веб-мастер может задать множество необходимых ему параметров, разрешений, настроек и при этом не предоставлять доступ пользователю к главному файлу конфигурации.
www.internet-technologies.ru
Что такое файл htaccess и зачем он нужен?
Что такое файл htaccess и зачем он нужен?
Давайте сейчас в этом разберемся.
Наверняка, когда вы работали со своим сайтом, который может располагаться на каком-то хостинге или веб-сервере, вы могли встретить в различных папках файл, который имеет название .htaccess.
Что же это за файл?
По сути, это простой текстовый файл, который вы можете создать самостоятельно в любой папке на вашем веб-сервере.
Как правило, файл htaccess создается в корневой папке вашего сайта, но также он может встречаться в любой другой папке.
Создается этот файл как обычный текстовый файл. Вы можете попробовать создать его на своем веб-сервере. Если этот файл будет пустой, то на работу вашего веб-сервера это никак не повлияет.
Таким же образом его можно удалить, как простой текстовый файл.
Казалось, бы, что это простой текстовый файл, но какую смысловую нагрузку он несет?
Но, важно!
1. Файл htaccess будет работать только на веб-сервере Apache.
Веб-сервер — это специальная программа, к которой браузер обращается, программа обрабатывает данные и выдает ему какой-то результат (ответ в виде HTML-страницы).
Веб-сервер — это посредник между посетителем сайта и теми файлами, которые располагаются на этом сайте. Веб-сервер эти файлы обрабатывает, подготавливает и выдает клиенту.
2. Даже если у вас установлен веб-сервер Apache, на этом веб-сервере должна быть специальная разрешающая настройка, что в папках этого веб-сервера разрешается использовать этот файл.
Теперь переходим к тому, что же это такое.
htaccess — это просто настройки работы веб-сервера Apache.
Это простой текстовый файл, который содержит определенные текстовые команды, обрабатывая которые, веб-сервер Apache ведет себя каким-то определенным образом.
Для веб-сервера Apache есть 2 основных варианта как мы можем настроить его работу.
Во первых, мы можем сделать это в корневой папке самого веб-сервера, в той папке, в которой установлен сам веб-сервер Apache. Там есть специальный файл, который называется httpd.conf.
Это главный настроечный файл, который задает настройки самого веб-сервера. Что, как он будет работать, в каких случаях, какие результаты выдавать и.т.д.
Но, этот файл для начинающих пользователей может показаться слишком сложным. Поэтому доступ к этому файлу открыт не для всех.
Разработчики веб-сервера Apache придумали такое решение создавать в папках вашего сайта отдельный файл, который называется htaccess.
Этот файл позволяет вам также в нем записать какие-то настроечные команды для веб-сервера Apache, которые будут вносить изменения и перетирать те настройки, которые есть в этом файле.
С помощью файла htaccess мы можем настраивать веб-сервер и говорить ему то, как он должен вести себя в тех или иных ситуациях. Самая главная особенность в том, что мы можем это сделать даже без перезагрузки веб-сервера.
Что мы можем делать с помощью файла htaccess?
1) Можно настраивать перенаправления для вашего сайта. Например, пользователь перешел на ваш сайт с приставкой www и мы перенаправляем его соответственно на ту же самую страницу на которую он перешел, только уже без приставки www.
Также можно сделать редирект или перенаправление если пользователь обратился к вашему сайту по протоколу http, мы можем перенаправить его на версию сайта по протоколу https.
Если он обратился на какую-то несуществующую страницу, мы можем перенаправлять его соответствующей командой на какую-то существующую страницу.
2) Запрещать доступ к какому-то файлу папке, адресу и.т.д.
3) Подсказать браузеру как нужно себя вести при возникновении каких-то ошибок.
Например, пользователь обратился к какой-то несуществующей странице, появилась ошибка 404, что ему нужно делать? Как веб-серверу поступать в этом случае? Это все можно настраивать файлом htaccess.
Такой вот смысл использования этого файла, ничего сложного в этом нет. Главное освоить синтаксис команд, которые в нем могут использоваться.
Главный смысл файла htaccess в том, что это просто настроечный файл для веб-сервера Apache. Вот, собственно говоря, и все.
webkyrs.info
Что такое .htaccess? « Все о WEB программировании
Ромчик0
Доброго времени суток. В данном посте мы остановимся на рассмотрении файла конфигурации apache .htaccess. В статье мы рассмотрим для чего нужен файл .htaccess, для чего целесообразней использовать данный файл, приведем несколько типичных примеров использования файла .htaccess. На написание данного поста меня сподвиг тот факт, что это самый распространенный файл на web сервере, практически на каждом web-сервере под управлением apache есть файл .htaccess и в то же время данный файл является самым непонятным для многих пользователей услуги web-хостинга. И так, давайте рассмотрим, что же такое и за что отвечает файл .htaccess.
Что же такое файл .htaccess
Файл .htaccess является децентрализованным файлом конфигурации сервера apache. Т.е. правила описанные данным файлом распространяются только на тот каталог и подкаталоги этого каталога в котором находиться файл .htaccess. Таким образом, если мы поместим файл .htaccess в корне нашего сервера, то его правила будут распространяться на все каталоги сервера, кроме тех каталогов, в которых есть собственный файл .htaccess.
Т.к. файл .htaccess является служебным файлом, то он не доступен веб-пользователю из браузера. Хотя это можно переопределить основным конфигурационным файлом сервера httpd.conf.
Как я уже говорил выше, что .htaccess является локальным конфигурационным файлом веб сервера apache, то и синтаксис его повторяет синтаксис основного конфигурационного файла.
Возможности .htaccess
Давайте приведем список основных возможностей данного файла:
- открыть или закрыть доступ к каталогу или подкаталогам без индексного файла
- создать правила перезаписи URL
- редирект
- ограничение доступа по логину и паролю к каталогам и файлам
- открыть или закрыть доступ с определенных ip адресов
- управлять роботами — пауками поисковых систем на сайте
- менять кодировку страницы
- запретить или настроить кеширование страниц
и многое другое.
Целесообразность использования файла .htaccess
Данный файл имеет огромное количество достоинств, например, файл apache .htaccess перечитывается каждый раз при обращении к серверу, то внесенные изменения тут же вступают в силу. Но из этого преимущества вытекает и один существенный недостаток, т.к. данный файл обрабатывается при каждом обращении к серверу — он существенно снижает производительность веб-сервера apache. Поэтому не злоупотребляйте настройками .htaccess и что возможно сделать в общем конфигурационном файле делайте.
А теперь давайте рассмотрим для чего лучше всего использовать .htaccess:
Перенаправление с кодом 301.
Очень часто приходиться перемещать контент и для того, чтобы не потерять позиции в поисковых системах делают перенаправление с кодом 301. Более подробно о кодах ответа веб сервера Вы можете прочитать в моей статье “HTTP коды — ответы http сервера” ( https://web-programming.com.ua/http-kody-otvety-http-servera/ )
Redirect 301 http://domain.com/old-permalink-here/ http://domain.com/new-permalink-here/
Ограничение доступа к определенным каталогам и файлам.
Для этого используется еще один файл .htpasswd. Пример, ограничение доступа по логину и паролю ко всем zip-архивам:
<FilesMatch "\.zip$"> AuthName "Only valid users can download zip files." AuthType Basic AuthUserFile /home/www/mysite/pas/.htpasswd Require valid-user </ FilesMatch >
А содержание файла .htpasswd, который находится в каталоге pas нашего сайт mysite:
Root:RoU9yc57nPeKM
где логин — Root, а пароль зашифрован — RoU9yc57nPeKM, что соответствует 12345
Указание файла, который будет выводиться при ошибке 404, т.е. запрашиваемая
страница не найдена.
ErrorDocument 404 http://mysite/error/404.html
Склейка двух доменов.
Как правило сайты имеют два домена www.mysite (перед доменном ставить www сложилось еще на заре зарождения интернет) и просто mysite, но для поисковых систем это два разных сайта с вытекающими отсюда последствиями и для того, чтобы склеить эти два домена используют следующую структуру:
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\mysite [NC] RewriteRule ^(.*)$ http://mysite/$1 [R=301,L]
Примеры использования .htaccess
Для того, чтобы web-сервер начал использовать файл .htaccess нужно его сконфигурировать для этого. Директива AllowOverride перечисляет опции, которые могут быть изменены с помощью файла .htaccess. Рассмотрим часть конфигурации файла httpd.conf:
<Directory "/"> Options Indexes FollowSymLinks Includes MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
где директива AllowOverride может принимать следующие значения:
- None — сервер игнорирует (не читает) файлы .htaccess
- Аll — позволяет с помощью .htaccess переопределить все глобальные установки доступа
- Filelnfo — разрешает переопределение опций управляющих типами документа (кодировка, язык, типы файлов)
- AuthConfig — переопределение опций разрешений
- Limit — разрешает переопределение опций доступа (allow, deny и order)
- Options — разрешает использовать директиву Options.
Перенаправление пользователя с определенным браузером:
RewriteEngine on RewriteCond %{HTTP_USER_AGENT} <название агента> RewriteRule .* http://test.mysite/ [R]
или в определенный каталог
RewriteEngine on RewriteCond %{HTTP_USER_AGENT} <название агента> RewriteCond %{REQUEST_URI} !^/test/ RewriteRule .* /test/ [R]
вместо <название агента> вставляем название необходимого агента
Простой редирект
Redirect 301 / http://mysite/
Запрещение доступа ко всем файлам в директории:
deny from all
Запрещение доступа к определенному файлу, в примере запрещен файл test.php:
<Files test.php> deny from all </Files>
Запрещение ко всем файлам в директории для определенного ip (в примере для ip = 192.168.1.1):
order deny,allow allow from all deny from 192.168.1.1
Определение кодировки (варианты кодировки KOI8-R, UTF-8, Windows-1251):
AddDefaultCharset windows-1251
Закрываем доступ к сайту в рабочее время
RewriteCond %{TIME_HOUR}%{TIME_MIN} >1000 RewriteCond %{TIME_HOUR}%{TIME_MIN} <1900 RewriteRule .* - [ F ]
Заключение
И так мы видим, что .htaccess является мощным инструментом для конфигурации http сервера. Без .htaccess мы не сможем создать так, называемые ЧПУ. С помощью данного файла мы можем уведомить пользователей и поисковые системы о старых ссылках, что позволяет улучшить индексацию Вашего ресурса, также мы можем ограничить доступ к нашему ресурсу по времени или защитить файлы от скачивания, создать доступ по логину и паролю к определенным каталогам и файлам.
Понравилась статья? Поделись с друзьями.
web-programming.com.ua
Всё про файл .htaccess | .htaccess
Файл .htaccess позволяет администратору управлять почти всеми настройками сервера Apache, касательно всего сайта или только определённых директорий, потому как структура папок на сервере имеет древовидную структуру и если поместить файл .htaccess в одну из них, то можно получить управление именно этой директорией, не влияя на работу других. Если в директории «DIR» расположен такой файл .htaccess, а во вложенном каталоге по отношению к нему есть еще один .htaccess, то во вложенной директории действуют настройки последнего. Вот таким образом, новый .htaccess отменяет предыдущий.
Данный фал вы не увидите через протоков http, следоватьно пользователи не смогут увидеь всех настроек вашего сайта.
Сервер Apache действует таким образом: при начале обработки страницы, он сначала ищет именно файл .htaccess, находящийся в коре директорий. Если он найден, то Apache начинает обработку директории соответствующим образом, описанным в файле.
Если сервер при обходе директорий, находит синтаксические ошибки в файле .htaccess, то он прекращает обработка. Вот некоторые из них, а точнее: самые популярные ошибки при работе с этим файлом:
1. Путь к файлу должен быть полным. ( /paht/to/Your/site/.htpassword )
2. Для переадресаций указываем протокол: http или ftp (Redirect / http://www.somesite.ru/)
3. По умолчанию файл называется .htaccess.
4. Файл сохраняется в Unix формате. То есть символ новой строки — n.
Теперь стоит поговорить о некоторых самых популярных параметрах настойки:
Запреты и разрешения
Запрет на все файлы в каталоге:
Доступ только с определенного IP:
order allow deny deny from all allow from $ip $ip - IP адрес.
Запретить доступ для определенного ip:
order allow deny deny from all deny from $ip
Запрет доступа на группу файлов по расширению (по маске):
<Files ".(tar|gif|png|...|xml)$"> order allow,deny deny from all </Files>
Разрешение или запрет на чтение по расширению.
Запрет на доступ к файлам *.inc:
<Files ".(inc)$"> order allow,deny deny from all </Files>
Стоит отметить, что запреты файла .htaccess будут действовать только при обращении к нужному документу через браузер пользователя.
Запрет доступа на конкретный файл:
<Files conf.inc.php> order allow,deny deny from all </Files>
Запрет на чтение conf.inc.php посетителями сайта не запрещает локальным приложениям сервера читать этот файл.
Установка паролей
Паролирование директории:
AuthName "Reg only" AuthType Basic AuthUserFile /pub/home/site/.htpasswd require valid-user
Такое значение AuthName для посетителей будет выводиться во всплывающем окне. Значение AuthUserFile указывает серверу, где хранится файл с паролями для доступа. такой файл можно создать специальной утилитой htpasswd в операционной системе linux или htpasswd.exe в ОС Windows.
Пароль только на 1 файл:
Пример установки пароля на файл file.rar:
<Files file.rar> AuthName "Users zone" AuthType Basic AuthUserFile /pub/home/login/.htpasswd require valid-user </Files>
Пароль на группу файлов по расширению:
<Files ".(gif|png|...|rar)$"> А дальше как пароль на файл
Перенаправления (редиректы)
Redirect посетителей на другой сайт: Redirect / http://www.site.ru
Перенаправление при запросе определенных каталогов и страниц:
redirect /_vti_bin http://alterwebs.net/ redirect /cpp http://alterwebs.net redirect /dpp http://alterwebs.net/read/general/list/ RedirectMatch (.*)cmd.exe$ http://www.microsoft.com$1
Переопределение стартовой страницы
DirectoryIndex index.html
Или
DirectoryIndex index.shtm index.php3 index.php index.htm index.html
Обработка ошибок сервера
код 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-кодировка. В какой кодировке сервер будет отдавать документы.
AddDefaultCharset windows-1251
А так же установка необходимой кодировки на файлы на сервере:
CharsetSourceEnc windows-1251
www.internet-technologies.ru
Справка .htaccess
Внимание!Надеюсь, вы догадаетесь сделать копию существующего файла .htaccess, а уж потом будете производить свои эксперименты.
Если вам не понравится результат своего творчества, просто верните старый на место. Пусть это будет вспомогательный файл, перегруженный может тормозить сервер. Генератор .htaccess
.htaccess
Файл .htaccess содержит пользовательские настройки web-сервера и анализируется при каждом запросе на сервер.На виртуальном хостинге чаще всего используется для:
- паролирования директорий,
- переадресации страниц,
- настройки собственных страниц ошибок,
- определения кодировки,
- запреты и разрешения,
- и др.
С помощью него можно переопределить многие директивы из файла httpd.conf (главный конфигурационный файл сервера Апач).
Если файл .htaccess расположен в корневой директории сервера, то его действия распространяется на весь сервер, кроме тех папок, где находится другой файл .htaccess.
Редактор
Создать файлы .htaccess можно в Блокноте или встроенном редакторе Far, WindowsCommander, TotalCommander.Я его редактирую с Notepad++ или Akelpad, которые использую для написания этого сайта.
Кодировка
Как выставить русскую кодировку. AddDefaultCharset utf-8Определение кодировки на определенные типы файлов AddType «text/html; charset=koi8-r» .html .htm .shtm Определение кодировки на загружаемые файлы CharsetSourceEnc utf-8 Отключение перекодировки если при загрузке скриптом не загружаются (бьются) бинарные файлы (картинки, архивы), создайте файл .htaccess и поместите его папку, где вы хотите отключить функцию, в нем пропишите строчку: CharsetRecodeMultipartForms off <FilesMatch «\.(htm|html|css|js)$»>
AddDefaultCharset UTF-8
</FilesMatch> Назначение стартовой страницы. DirectoryIndex index.html Можно указывать несколько страниц. DirectoryIndex index.html index.php index.shtml map.html При запросе каталога они будут искаться в том порядке, в котором перечислены в директиве DirectoryIndex. Если не будет найден файл index.html, то будет произведен поиск файла index.php и т.д.
Разрешение/запрет
разрешить доступ с определенного ip. order allow denydeny from all
allow from 000.000.000.000 запретить доступ с определенного ip. order allow deny
allow from all
deny from 000.000.000.000 запретить просмотр всем. deny from all разрешить просмотр всем. allow from all Запретить доступ к определенному файлу. <Files config.php>
deny from all
</Files> Запретить доступ к файлам с определенным расширением. <Files «*.conf»>
deny from all
</Files> Запретить доступ к файлам нескольких расширений. <Files «\.(inc|conf|cfg)$»>
deny from all
</Files> ? — любой одиночный символ
* — любая последовательность символов, исключая символ / (слеш). Тонкая настройка доступа. Есть каталог a1 и в нем два вложенных каталога a2, a3, введено 2 уровня пользователей. 1 группа имеет доступ только к a1 и a2, 2-я ко всем трем каталогам. Необходимо проводить аутентификацию только 1 раз — при доступе к a1, но при этом соблюдать права на доступ к а2 и а3.
Ник и пароль запрашиваются только при входе на а1 — если у юзера есть доступ на а2 пароль уже не запрашивается. Если на а3 доступа нет, вылетит табличка «введите пароль». www.site.ru/a1
www.site.ru/a1/а2
www.site.ru/a1/a3
a1 — общий и вместе с тем закрытый. а2 и а3 только для отдельных личностей. файл .htaccess для каталога а1: AuthName «Input password»
AuthType Basic
AuthUserFile «/pub/home/login/htdocs/clousearea/.htpasswd»
<Files *.*>
require valid-user
</Files>
файл .htaccess для каталога а2:
AuthName «Input password»AuthType Basic
AuthUserFile «/pub/home/login/htdocs/clousearea/.htpasswd»
<Files *.*>
require user юзер1 юзер2 юзер3
</Files *.*> файл .htaccess для каталога а3: AuthName «Input password»
AuthType Basic
AuthUserFile «/pub/home/абв/htdocs/clousearea/.htpasswd»
<Files *.*>
require user юзер1 юзер4 юзер5
</Files *.*>
Перенаправление (редирект)
Пути к файлам и директориям должны указываться от корня сервера, например, /pub/home/server1/html/В именах доменов обязательно должны быть указаны протоколы (http://, http://, ftp://) Если вы не знаете путь от корня сервера, то Вы можете его узнать, спросив у администратора сервера, либо можете посмотреть сами, запустив на сайте функцию PHP — phpinfo(). Она выведет на экран конфигурацию PHP в виде фиолетовых таблиц. В них Вам необходимо найти переменную doc_root и посмотреть ее значение — это будет путь от корня сервера до вашей основной директории. Перенаправление (редирект) только при запросе определенных страниц. Redirect /location/from/root/file.ext http://www.serv.ru/new/file/location.xyz /location/from/root/file.ext — это путь до корневого файла (до нужного файла). www.serv.ru/new/file/location.xyz это место, куда попадет пользователь сделав запрос на файл file.txt. Если файл лежит в корневом каталоге, то вместо location/from/root/ можно сразу поставить: /oldfile.html ну и если файл в субкаталоге, то будет выглядеть так: /old/oldfile.html Редирект на папку (напр. папка oldfolder). Redirect /oldfolder http://www.serv.ru/newfolder запрос на www.oldserv.ru/oldfolder/images/smile.gif,
попадет на www.serv.ru/newfolder/images/smile.gif. Глобальное перенаправление (редирект) на другой адрес. Redirect / http://www.newsite.ru Перенаправление (редирект) только посетителей с определенным IP-адресом. SetEnvIf REMOTE_ADDR 192.145.121.1 REDIR=»redir»
RewriteCond %{REDIR} redir
RewriteRule ^/$ /only_for_you.html
Убираем WWW
Дело в том, что люди могут набирать адрес вашего сайта по-привычке с WWW. или экономя время без WWW.Для Яндекса и Google http://your-site.com и http://www.your-site.com — разные сайты. И у вас, как следствие будет заниженный индекс цитирования. Это решается следующим кодом. Если вы хотите, чтобы ваш адрес был всегда с WWW. (привычнее), то код: RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^your-site.com$
RewriteRule ^(.*)$ http://www.your-site.com/$1 [R=301,L] Вместо your-site.com пишем свой адрес.
Пароль
Защита паролем. AuthName «Section Name» AuthType Basic AuthUserFile /full/path/to/.htpasswd Require valid-user Вам надо изменить для своего сайта. Например, поменять Section Name на своё название (к примеру — Members area). /full/path/to/.htpasswd — полный путь до файла .htapasswd (об этом чуть позже). Если вы не знаете полного пути, то обратитесь к системному администратору. Файл .htpasswd Чтобы защитить директорию паролем, надо создать файл содержащий логины и пароли, которым разрешено будет посещать сайт. И вписать в файл .htpasswd. Создание имен пользователей и паролей. Вписываем имена пользователей и пароли след. образом: username:password пароль (password) зашифрованная версия пароля.Чтобы зашифровать .htpasswd файл, вам нужно будет воспользоваться готовым скриптом, или самому написать его. Если вам нужно несколько пользователей, то пишите построчно их. Как только вы заходите в защищенную паролем директорию, у вас всплывет pop-up окно для ввода логина и пароль. А можно просто вписать в поле адреса: username:password@www.serv.ru/directory
Ускоряем сайт с помощью gzip
Это сжатие уменьшает размер ваших файлов, и как следствие сокращает траффик у посетителя, ваш сайт быстрее открывается. Но это подойдет только для небольших и средний сайтов, потому что вы повышаете нагрузку на сервер. AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xmlapplication/xhtml+xml text/JavaScript text/css application/x-JavaScript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html Как заставить Апач обрабатывать SSI директивы? SSI позволяют «собирать» страницу из кусочков. В одном кусочке у вас код меню, в другом код верхней части страницы, в третьем — нижней. А посетитель видеть обычную страницу, которая состоит из того кода, который входит в ваши кусочки. Необходимы обязательные установки в httpd.conf:
В блоке, начинающемся с <Directory/> и заканчивающийся </Directory> в строку Options Indexes добавьте Includes.
и после, в файле .htaccess пишем: AddHandler server-parsed .shtml .shtm .html .htm Чтобы пользователь не видел список файлов в папке, при отсутствии в ней индексного файла, добавим строчку: Options -Indexes Выполнение php кода в файлах с другим расширением. Иногда бывает полезно «обмануть» посетителя, выдавая ему свои php-скрипты или иные файлы, как html файлы. Реально используется для индексации поисковой системой Rambler php-скриптов. RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html .phtml Заметьте, так как файлам с расширением .html и .htm сопоставлено, что это файлы с гипертекстовой разметкой, то мы первой строкой убираем это сопоставление и добавляем обработку таких файлов php интерпретатором. При большой посещаемости сервера такие ухищрения могут вызвать тормоза. Спрашивайте у админа. Error 404 … Если не будет файла, сообщающего об ошибке, то посетитель увидит содержимое вашего сайта, как в проводнике. Наверное, вы встречали картину подобную представленной ниже:

Можно создать специальный файл, где будут ссылки на ваш сайт, а не на хостера. Назвать его 404.html и поместить в корневую директорию.
Величина страницы с ошибкой должна быть больше 511 байтов, иначе Internet Explorer может показать собственную страницу с описанием ошибки. ErrorDocument 404 /404.html
ErrorDocument 403 /403.html
ErrorDocument 401 /401.html
ErrorDocument 500 /500.html Можно указать другой файл, который автоматически откроется при появлении ошибки.
Карта сайта — является идеальным файлом для обработки ошибки error 404 (файл не найден). ErrorDocument 404 /map.html register_globals Если у вас не работает почтовая форма, возможно не включен register_globals, тогда добавьте строчку: php_flag register_globals on Или php_flag register_globals off если вы хотите отключить.
ПРИНУДИТЕЛЬНАЯ ЗАКАЧКА ОПРЕДЕЛЕННЫХ ФАЙЛОВ
Можно некоторые файлы (MP3, EPS, XLS …), предназначенные для скачивания принудительно скачивать, а не позволить браузеру решить, что делать. То есть, принять решение за него.Этот фрагмент кода заставит загрузку и .xls файлы .eps с вашего сервера. <Files *.xls>
ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>
<Files *.eps>
ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>
ЗАЩИТА ОТ ХОТЛИНКОВ
Хотлинк (hotlink) — это когда ставят прямую ссылку на ваше содержание с другого сайта.Часто такая ситуация нежелательна, вы же не хотите оплачивать трафик другого сайта, и для ее избежания используется: SetEnvIfNoCase Referer «^http://www.test.com» local_ref=1
SetEnvIfNoCase Referer «^http://test.com» local_ref=1
<FilesMatch «.(gif|jpg)>
Order Allow,Deny
Allow from env=local_ref
</FilesMatch> Другой вариант: RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.*$ [NC]
RewriteRule .*\.(gif|jpg)$ — [F]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !.*/foo-with-gif\.html$
RewriteRule ^inlined-in-foo\.(gif|jpg)$ — [F] Еще вариант: RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your «don’t hotlink» image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
www.ph4.ru