HTTP HTTPUSERAGENT HTTPREFERER HTTPCOOKIE HTTPFORWARDED HTTPHOST HTTPPROXYCONNECTION HTTPACCEPT



















![Комбинирование условий в правилах Rewrite. Engine on Rewrite. Cond %{REMOTE_HOST} ^mysubdomain 1. * [OR] Комбинирование условий в правилах Rewrite. Engine on Rewrite. Cond %{REMOTE_HOST} ^mysubdomain 1. * [OR]](https://slidetodoc.com/presentation_image/2cb6e8b4bc903919d268de21d12d0826/image-20.jpg)
























![Генерирование файла с паролями [pavel@mati. su]~# htpasswd Usage: htpasswd [-cmdps] passwordfile username htpasswd -b[cmdps] Генерирование файла с паролями [pavel@mati. su]~# htpasswd Usage: htpasswd [-cmdps] passwordfile username htpasswd -b[cmdps]](https://slidetodoc.com/presentation_image/2cb6e8b4bc903919d268de21d12d0826/image-45.jpg)
![Генерирование файла с паролями [pavel@mati. su]~ # htpasswd -c authfile test 1 New password: Генерирование файла с паролями [pavel@mati. su]~ # htpasswd -c authfile test 1 New password:](https://slidetodoc.com/presentation_image/2cb6e8b4bc903919d268de21d12d0826/image-46.jpg)



- Slides: 49
Список переменных шаблона HTTP-заголовки: HTTP_USER_AGENT HTTP_REFERER HTTP_COOKIE HTTP_FORWARDED HTTP_HOST HTTP_PROXY_CONNECTION HTTP_ACCEPT Соединение и запросы: REMOTE_ADDR REMOTE_HOST REMOTE_PORT REMOTE_USER REMOTE_IDENT REQUEST_METHOD SCRIPT_FILENAME PATH_INFO QUERY_STRING AUTH_TYPE
Список переменных шаблона Внутренние серверные: DOCUMENT_ROOT SERVER_ADMIN SERVER_NAME SERVER_ADDR SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE Дата и время TIME_YEAR TIME_MON TIME_DAY TIME_HOUR TIME_MIN TIME_SEC TIME_WDAY TIME Особое API_VERSION THE_REQUEST_URI REQUEST_FILENAME IS_SUBREQ HTTPS
Комбинирование условий в правилах Rewrite. Engine on Rewrite. Cond %{REMOTE_HOST} ^mysubdomain 1. * [OR] Rewrite. Cond %{REMOTE_HOST} ^mysubdomain 2. * [OR] Rewrite. Cond %{REMOTE_HOST} ^mysubdomain 3. * Rewrite. Rule ^(. *)$ ^mysubdomain_public_html/ Rewrite. Cond %{REMOTE_HOST} ^mysubdomain 4. * Rewrite. Rule ^(. *)$ ^mysubdomain 4_public_html/ Для комбинирования условий могут быть использованы операторы AND и OR.
Правило для главной страницы под специфику браузера Rewrite. Engine on Rewrite. Cond %{HTTP_USER_AGENT} ^Mozilla. * Rewrite. Rule ^/$ /homepage. max. html [L] Rewrite. Cond %{HTTP_USER_AGENT} ^Lynx. * Rewrite. Rule ^/$ /homepage. min. html [L] Rewrite. Rule ^/$ /homepage. std. html [L]
Разные сайты в зависимости от браузера Rewrite. Engine on Rewrite. Cond %{HTTP_USER_AGENT} ^Mozilla. * Rewrite. Rule ^(. *)$ /mozilla/ [L] Rewrite. Cond %{HTTP_USER_AGENT} ^Lynx. * Rewrite. Rule ^(. *)$ /lynx/ [L] Rewrite. Rule ^(. *)$ /default/ [L]
Пример 1 • Запрет посещений сайта поисковым роботом Google: Rewrite. Engine on Rewrite. Cond %{USER_AGENT} Googlebot Rewrite. Rule. * - [F] # Другой вариант возвращает вместо ошибки 403 (FORBIDDEN) ошибку 404 (NOT_FOUND) Rewrite. Cond %{USER_AGENT} Googlebot Rewrite. Rule. * - [R=404]
Пример 2 Запрет на посещение сайта в рабочее время: Rewrite. Engine on Rewrite. Cond %{TIME_HOUR}%{TIME_MIN} > 900 Rewrite. Cond %{TIME_HOUR}%{TIME_MIN} < 1800 Rewrite. Rule. * - [F]
Пример 3 • Запрет на встраивание картинок из внешних страниц: Rewrite. Engine on Rewrite. Base /img/ Rewrite. Cond %{HTTP_REFERER} !^$ Rewrite. Rule . (jpe? g|gif|png)$ - [F]
Обработка ошибок # содержание файла. htaccess: Error. Document 404 error/404. htm Error. Document 403 error/403. htm Error. Document 400 error/400. htm Error. Document 500 error/500. htm # в случае ошибки "Forbidden" показывается текстовое # сообщение, которое обязательно должно начинаться с # кавычки, кавычка в сообщении не выводится: Error. Document 403 "Sorry can't allow you access today, 403 Status Codes Apache"
Кодировка • В HTML: <meta http-equiv="content-type" content="text/html; charset=Windows-1251"> • Через. htaccess: Add. Default. Charset UTF-8
Запрет на доступ к отдельным файлам <Files "passwd. html"> Order Deny, Allow Deny from all Allow from 81. 222. 144. 12 </Files>
Паролирование директорий Auth. Name "Achtung! Uwaga! Attention! Protected area!" Auth. Type Basic Auth. User. File /home/pavel/. authfile require valid-user
Генерирование файла с паролями [pavel@mati. su]~# htpasswd Usage: htpasswd [-cmdps] passwordfile username htpasswd -b[cmdps] passwordfile username password -c Create a new file.
Генерирование файла с паролями [pavel@mati. su]~ # htpasswd -c authfile test 1 New password: Re-type new password Adding password for user test 1 Генерирование пароля для пользователя test 1 в файл “authfile”.
Полезные ссылки • http: //httpd. apache. org/docs/2. 2/mod_ rewrite. html • http: //httpd. apache. org/docs/2. 0/mod/core. h tml#filesmatch • http: //httpd. apache. org/docs/2. 2/mod_ authz_host. html#allow • http: //beget. ru/art_htaccess • http: //beget. ru/art 10