

- • Конфигурационный файл - .htaccess





- • Модуль mod_rewrite - URL преобр.
- • Директива модуля - RewriteRule flags
- • Директива модуля - RewriteBase
- • Директива модуля - RewriteCond
- • Директива модуля - RewriteEngine
- • Директива модуля - RewriteOptions
- • Примеры URL преобразований!!!!!
- • Пример правила с УРЛ - ЧПУ
- • Боты - роботы через Mod rewrite
- • Защита от прямого скачивания




Файл .htaccess - общая информация
Авторы ВЕБ-сервера Apache реализовали возможность децентрализованного управления конфигурацией с помощью использования специальных файлов имеющих именуемых по умолчанию - .htaccess, которые помещаются на диске прямо в веб-пространстве виртуального сервера. Эти файлы обычно называются .htaccess (обратите внимание на первый символ в названии файла - точку).
Действие команд из файла .htaccess распространяется и на подкаталоги того каталога, в котором этот файл размещен. Если файл .htaccess расположен в корневой директории сервера, то его действия распространяется на весь сервер, кроме тех директорий, где находится другой файл . htaccess (и кроме всех папок "ниже" этой папки со вторым . htaccess). Лишь модуль mod rewrite имеет свою специфику наследования.
Поскольку файлы . htaccess являются служебными, то они не доступны веб-пользователю из браузера. Хотя конечно же, абсолютно всё, в том числе и это ограничение, можно переназначить в httpd.conf - главном конфигурационном файле сервера доступному только администратору хостинга.
Файл apache .htaccess перечитывается при каждом обращении к веб-серверу, так что изменения, внесенные в этот файл, вступают в силу немедленно.
Синтаксис файлов .htaccess повторяет синтаксис главного файла конфигурации веб сервера, директивы так же аналогичны, только в сокращенном виде. Так же администратор Apache может ограничивать для пользователей доступ к тем или иным директивам. То есть, несмотря на то, что команда, в принципе, может исполняться из .htaccess, администратор может запретить доступ к конкретной директиве. Учитывайте это при работе. Обычно это выражается в том, что вместо нужного результата (при перепроверенном - 100% правильном синтаксисе директив), сервер продолжает выдавать - 500-ошибку - код статус сервера.
В файле настройки Apache за .htaccess , отвечают следующие директивы - AccessFileName и AllowOverride. Первая задает имя файла настройки (по умолчанию . htaccess ), вторая разрешает/запрещает его использование в папке. Чтобы работали настройки . htaccess , обе директивы должны быть настроены соответствующим образом.
Кстати, большинство бесплатных хостингов, хотя и держат у себя Apache , использование .htaccess не разрешают, или разрешают лишь некоторые из них.
Основные правила написания файла apache .htaccess:
-
пути к файлам (директориям) указываются от корня сервера
Правильный пример фрагмента файла .htaccess:
DirectoryIndex /home/www/users/AM/public_html/index
адресация к документам, расположенным на других сайтах должно выполняться с указанием протокола
Правильный пример:
redirect /~AM http://htaccess.net.ru/#илиredirect http://Best.Best-Host.ru/ http://htaccess.ru/
Ошибка:
Redirect /~AM www.htaccess.net.ru/
как Вы уже поняли, комментарии в которых можно вставлять что угодно и которые действуют до конца строки, на которой они находятся в файлах .htaccess начинаются с символа #.
в выражениях при наличии необходимости можно использовать специальные переменные окружения, например %{ REMOTE _ ADDR } или %{ HTTP _ REFERER }
При тестировании часто приходиться создавать файл .htaccess в Windows, так как переименовать например обычный txt-файл в файл без названия - с одним расширением .htaccess в данной системе невозможно, то проще всего обойти данное ограничение создав в notepad.exe текстовый файл, сохранить его, набрав в имени .htaccess, или просто скопировать и потом уже редактировать – вносить свои директивы в уже существующий файл .htaccess.
Так же не забывайте что .htaccess и .HTACCESS или .Htaccess абсолютно различные файлы для unix хостинга - сервера.
Ещё раз подчеркну, что главная проблема при использовании директив .htaccess – это прежде всего ограничения хостеров, особенно на бесплатных серверах, и на начальных тарифах при платном хостинге, хотя как правило, многие не ресурсоемкие и безопасные директивы здесь уже разрешаются.
Недавно освободившиеся домены с PR и ТИЦ:
Сервис http://reg.ru - крупнейшего хостинга и регистратора доменов позволяет подать заявку на регистрацию доменного имени, которое недавно было освобождено прежним Администратором. Освобожденные домены часто имеют высокие показатили ТИЦ и PR и могут быть интересны к приобретению.
Освобожденные домены .RU c ТИЦ: |
Ваш скидочный 5% промокод при новой регистрации на REG.RU: Использовать промокод при оплате услуг сможет каждый из зарегистрировавшихся только один раз. Поэтому вначале добавляем в корзину все что нужно, а затем одной операцией вводим купон и проводим оплату. |

