Действие .htaccess автоматически распространяется на все вложенные директории.
Таким образом будут действовать следующие файлы .htaccess:
Директория Действующие .htaccess
/www/ /www/.htaccess
/www/news/ /www/.htaccess
/www/news/.htaccess
/www/news/2003.10/ /www/.htaccess
/www/news/.htaccess
/www/news/2003.10/.htaccess
/www/news/2003.11/ /www/.htaccess
/www/news/.htaccess
/www/data/ /www/.htaccess
/www/data/.htaccess
/www/images/ /www/.htaccess
Правила написания .htaccess
• пути к файлам (директориям) указываются от корня сервера.
Правильный пример:
DirectoryIndex /home/st1331/www/data/main.html
Ошибка:
DirectoryIndex /www/news/main.html
• Адресация к документам, расположенным на других сайтах должно
выполняться с указанием протокола
Правильный пример:
Redirect /oldsite/ http://www.site.ru/
Ошибка:
Redirect /oldsite/ www.site.ru/
Комментарии - строки, начинающиеся с символа #.
В выражениях можно использовать переменные окружения,
например % или %.
• Файл .htaccess должен быть записан в UNIX-формате — это
означает что перевод строки должен задаваться в нем одним символом
(0x0A), а не двумя (0x0D 0x0A), как в DOS или
Windows
Определение области действия директив
Директива Files
Оописание: дирктива Files ограничивает действие директив одним файлом
Syntax: filename> ...
filename имя файла
Пример:
Order Deny,Allow
Deny from all
Allow from 192.168.1.1
Директива FilesMatch
Оописание: дирктива Files ограничивает действие директив одним файлом
Syntax: regex> ...
regexp: регулярное выражение (шаблон), описывающее группу файлов.
Пример:
Order Allow,Deny
Allow from all
Deny from 192.168.1.1
Перенаправления (редиректы)
Директива Redirect
Описание: Выполняет редирект посетителя, запрашивающего документ на другой
URL. Выполняет внешний редирект (сообщая браузеру о необходимости
загрузить другой URL).
Синтаксис: Redirect [status] URL-pathURL
status: необязательное поле,
определяет код возврата, допустимые значения: permanent(301 — документ перемещен постоянно), temp(302 — документ перемещен временно), seeother(303 — смотрите другой), gone (410— убран).
URL-path: локальная часть URL запрашиваемого документа.
URL: URL куда должен быть выполнен редирект
Описание: Выполняет редирект посетителя, запрашивающего документ на другой
URL. Выполняет внешний редирект (сообщая браузеру о необходимости
загрузить другой URL). Директива аналогична Redirect, за исключением того, что
вместо адреса запрашиваемого документа пишется регулярное выражение (шаблон)
Синтаксис: Redirect [status] regexp URL
status: необязательное поле,
определяет код возврата, допустимые значения: permanent(301 — документ перемещен постоянно), temp(302 — документ перемещен временно), seeother(303 — смотрите другой), gone (410— убран).
URL-path: локальная часть URL запрашиваемого документа.
regexp: регулярное выражение (шаблон), описывающее группу URL-ей.
Пример: разные страницы, в зависимости от ссылающейся страницы. В примере
посетители, приходящис со страницы http://www.partner.ru/ вместо
/prices.html получают /anoter_prices.html
Описание: Устатавливает порядок работы директив Deny и Allow
Синтаксис: Order порядок
порядок может принимать значения
Deny,Allow или Allow,Deny
По умолчанию: Order Deny,Allow
Директива Deny
Описание: Запрещает доступ определенных клиентов к ресурсам.
Синтаксис: Deny from all|host
host может принимать значения IP адреса или имени хоста.
Директива Allow
Описание: Разрешает доступ определенных клиентов к ресурсам.
Синтаксис: Deny from all|host
host может принимать значения IP адреса или имени хоста.
Пример: запрет на доступ для всех
Order Deny,Allow
Deny from all
Пример: разрешение на доступ для определенных IP адресов
Order Deny,Allow
Deny from all
Allow from .iho.ru
Allow from 192.168.1.1
Пример: запрет на доступ для определенных IP адресов
Order Allow,Deny
Allow from all
Deny from .iho.ru
Deny from 192.168.1.1
Пример: запрет на доступ для определенный файл. В примере запрещается доступ
к файлу .htpasswd для всех посетителей
Order Deny,Allow
Deny from all
Пример: запрет на доступ для определенной группы файлов. В примере
запрещается доступ к файлам с расширениями "lib" и "pm" для всех посетителей
Order Deny,Allow
Deny from all
Установка пароля на доступ
Директива AuthName
Описание: значение AuthName будет выводиться для посетителя и может использоваться для
пояснения запроса авторизации.
Директива AuthType
Описание: Эта директива выбирает тип аутентификации. Возможны следующие типы:
Basic and Digest.
Синтаксис: AuthType Basic|Digest
Директива AuthUserFile
Описание: значение AuthUserFile указывает имя файла с паролями
для аутентификации пользователей. Файл с паролями может быть создаен утилитой
htpasswd. Путь к файлу с паролями задается относительно корня
веб-сервера. Храните файл с паролями в папке, доступ к которой закрыт
для пользователей..
Синтаксис: AuthUserFile путь-к-файлу
Директива Require
Описание: Определяет пользователей, которые могут получить доступ
Синтаксис: Require имя-пользователя|valid-user
Указывая valid-user вы разрешаете доступ всем пользователям,
перечисленным в файле паролей.
Пример: разрешает доступ директории всем пользователям:
Пример: разрешает доступ к директории только 3-м пользователям:
AuthName "Very restricted area"
AuthType Basic
AuthUserFile /home/st1331/www/data/.htpasswd
Require antonio solo marina
Пример: ограничение доступа к определенным файлам (в этом примере ограничен
доступ к zip архивам)
AuthName "Only valid users can download zip files."
AuthType Basic
AuthUserFile /home/st1331/www/data/.htpasswd
Require valid-user
Пример: ограничение доступа к одному файлу (в этом примере ограничен
доступ к файлу .htpasswd)
AuthName "Access restricted."
AuthType Basic
AuthUserFile /home/st1331/www/data/.htpasswd
Require antonio solo
Управление сервером
Директива DirectoryIndex - изменения страницы по умолчанию (стартовой)
Описание: Позволяет изменить страницу, которая будет показываться при обращении к директории
Синтаксис: DirectoryIndex page [page]
page - название стартовой страницы. Может быть указано несколько страниц.
Пример:
DirectoryIndex main.html index.php test.shtml
Директива ErrorDocument - обработка ошибок
Описание: позволяет устанавливать альтернативные страницы ошибок
Синтаксис: ErrorDocument code URL-path
URL-path - локальный адрес страницы
code - код ошибки. Наиболее типичные коды ошиброк:
401 — Требуется авторизация (Authorization Required)
403 — пользователь не прошел аутентификацию, запрет на доступ (Forbided)
404 — запрашиваемый документ (файл, директория) не найден (Not Found)
500 — внутренняя ошибка сервера — ошибка скрипта или ошибка в синтаксисе файла .htaccess - (Internal Server Error)
Директива AddDefaultCharset - установка обработчика (PHP, Parser)
По умолчанию на сервере установлена кодировка Windows-1251
AddDefaultCharset koi8-r
Как заставить Апач обрабатывать SSI директивы?
SSI позволяют "собирать" страницу из кусочков. В одном кусочке у вас код меню, в
другом код верхней части страницы, в третьем - нижней. А посетитель видет
обычную страницу, которая состоит из того кода, который входит в ваши кусочки.
Необходимы обязательные установки в httpd.conf: В блоке, начинающемся с
и заканчивающийся в строку Options Indexes
добавьте Includes. После, в файле .htaccess пишем:
AddOutputFilter Includes .html .htm
Как поставить запрет на отображение содержимого директории при отсутствии индексного файла?
Предположим, что у вас вся графика, используемая на сайте находится в директории
img. Посетитель может набрать в адресной строке браузера эту директорию и
увидеть список всех ваших графических файлов. Конечно, это не нанесет вам урона,
но можно и не дать такого просмотра посетителю. В .htaccess пишем:
htpasswd
Директива htpasswd служит для создания файла с паролями, который может быть
использован при аутентификации пользователей веб-сервером.
Пример: создание файла с паролями и добавление в него 1 имени:
htpasswd -c Filename username
Пример: Добавление или изменение файла с паролями
htpasswd Filename username2
Добавил файл .htaccess, и теперь сервер выдает 500 ошибку. Почему?
500-я ошибка может быть вызвана следующими причинами:
1. неверный синтаксис .htaccess
2. файл .htaccess записан в формате Windows, а должен быть записан в формате UNIX
[материал с сайта http://phpclass.ru]
Опубликовал Kest
October 27 2008 09:24:47 ·
0 Комментариев ·
7886 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.