Компьютинг и программирование
|
Директория | Действующие .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/data/ | /www/.htaccess /www/data/.htaccess |
/www/images/ | /www/.htaccess |
пути к файлам (директориям) указываются от корня сервера.
Правильный пример:
DirectoryIndex /home/st1331/www/data/main.html
Ошибка:
DirectoryIndex /www/news/main.html
Адресация к документам, расположенным на других сайтах должно выполняться с указанием протокола
Правильный пример:
Redirect /oldsite/ http://www.site.ru/
Ошибка:
Redirect /oldsite/ www.site.ru/
Комментарии - строки, начинающиеся с символа #
.
В выражениях можно использовать переменные окружения, например %{REMOTE_ADDR} или %{HTTP_REFERER}.
Файл .htaccess должен быть записан в UNIX-формате это означает что перевод строки должен задаваться в нем одним символом (0x0A
), а не двумя (0x0D 0x0A
), как в DOS или Windows
Оописание: дирктива Files
ограничивает действие директив одним файлом
Syntax: <Files filename> ... </Files>
filename
имя файла
Пример:
<Files my_secure_document.html> Order Deny,Allow Deny from all Allow from 192.168.1.1 </Files>
Оописание: дирктива Files
ограничивает действие директив одним файлом
Syntax: <Files regex> ... </Files>
regexp
: регулярное выражение (шаблон), описывающее группу файлов.
Пример:
<FilesMatch ".(gif|jpe?g|png)$"> Order Allow,Deny Allow from all Deny from 192.168.1.1 </Files>
Описание: Выполняет редирект посетителя, запрашивающего документ на другой URL. Выполняет внешний редирект (сообщая браузеру о необходимости загрузить другой URL).
Синтаксис: Redirect [status] URL-path URL
status
: необязательное поле, определяет код возврата, допустимые значения: permanent
(301
документ перемещен постоянно), temp
(302
документ перемещен временно), seeother
(303
смотрите другой), gone
(410
убран).
URL-path
: локальная часть URL запрашиваемого документа.
URL
: URL куда должен быть выполнен редирект
Redirect temp / http://www.iho.ru/newyear.html Redirect temp /index.html http://www.iho.ru/newyear.html Redirect permanent /prices2002.html http://www.iho.ru/prices2003.html
Описание: Выполняет редирект посетителя, запрашивающего документ на другой URL. Выполняет внешний редирект (сообщая браузеру о необходимости загрузить другой URL). Директива аналогична Redirect
, за исключением того, что вместо адреса запрашиваемого документа пишется регулярное выражение (шаблон)
Синтаксис: Redirect [status] regexp URL
status
: необязательное поле, определяет код возврата, допустимые значения: permanent
(301
документ перемещен постоянно), temp
(302
документ перемещен временно), seeother
(303
смотрите другой), gone
(410
убран).
URL-path
: локальная часть URL запрашиваемого документа.
regexp
: регулярное выражение (шаблон), описывающее группу URL-ей.
RedirectMatch (.*).gif$ http://www.myserver.com$1.png RedirectMatch (.*.jpg)$ http://www.myanother.com$1
Пример: разные страницы, в зависимости от IP адреса посетителя. В примере посетители с адреса 192.168.1.1
перенаправляются на другую страницу
RewriteCond %{REMOTE_ADDR} 192.168.1.1 RewriteRule ^/$ /anoter_index_pahe.html [L]
Пример: разные страницы, в зависимости от ссылающейся страницы. В примере посетители, приходящис со страницы http://www.partner.ru/
вместо /prices.html
получают /anoter_prices.html
RewriteCond %{HTTP_REFERER} http://www.partner.ru/recep.html RewriteRule ^/prices.html$ /anoter_prices.html [L]
Это уже для всех сетевых вирусов и сканеров. Теперь любой запрос с адресом /_vti_bin будет автоматически перенаправляться на Microsoft:
redirect /_vti_bin http://www.microsoft.com redirect /scripts http://www.microsoft.com redirect /MSADC http://www.microsoft.com redirect /c http://www.microsoft.com redirect /d http://www.microsoft.com redirect /_mem_bin http://www.microsoft.com redirect /msadc http://www.microsoft.com RedirectMatch (.*)cmd.exe$ http://www.microsoft.com$1
Описание: Устатавливает порядок работы директив Deny
и Allow
Синтаксис: Order порядок
порядок
может принимать значения Deny,Allow
или Allow,Deny
По умолчанию: Order Deny,Allow
Описание: Запрещает доступ определенных клиентов к ресурсам.
Синтаксис: Deny from all|host
host
может принимать значения IP адреса или имени хоста.
Описание: Разрешает доступ определенных клиентов к ресурсам.
Синтаксис: 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
для всех посетителей
<Files ".htpasswd"> Order Deny,Allow Deny from all </Files>
Пример: запрет на доступ для определенной группы файлов. В примере запрещается доступ к файлам с расширениями "lib" и "pm" для всех посетителей
<FilesMatch ".(lib|pm)$"> Order Deny,Allow Deny from all </FilesMatch>
Описание: значение AuthName
будет выводиться для посетителя и может использоваться для пояснения запроса авторизации.
Описание: Эта директива выбирает тип аутентификации. Возможны следующие типы: Basic
and Digest
.
Синтаксис: AuthType Basic|Digest
Описание: значение AuthUserFile
указывает имя файла с паролями для аутентификации пользователей. Файл с паролями может быть создаен утилитой htpasswd
. Путь к файлу с паролями задается относительно корня веб-сервера. Храните файл с паролями в папке, доступ к которой закрыт для пользователей..
Синтаксис: AuthUserFile путь-к-файлу
Описание: Определяет пользователей, которые могут получить доступ
Синтаксис: Require имя-пользователя|valid-user
Указывая valid-user
вы разрешаете доступ всем пользователям, перечисленным в файле паролей.
Пример: разрешает доступ директории всем пользователям:
AuthName "Restricted area" AuthType Basic AuthUserFile /home/st1331/www/data/.htpasswd Require valid-user
Пример: разрешает доступ к директории только 3-м пользователям:
AuthName "Very restricted area" AuthType Basic AuthUserFile /home/st1331/www/data/.htpasswd Require antonio solo marina
Пример: ограничение доступа к определенным файлам (в этом примере ограничен доступ к zip архивам)
<FilesMatch ".zip$"> AuthName "Only valid users can download zip files." AuthType Basic AuthUserFile /home/st1331/www/data/.htpasswd Require valid-user </FilesMatch>
Пример: ограничение доступа к одному файлу (в этом примере ограничен доступ к файлу .htpasswd)
<Files ".htpasswd"> AuthName "Access restricted." AuthType Basic AuthUserFile /home/st1331/www/data/.htpasswd Require antonio solo </Files>
Описание: Позволяет изменить страницу, которая будет показываться при обращении к директории
Синтаксис: DirectoryIndex page [page]
page
- название стартовой страницы. Может быть указано несколько страниц.
Пример:
DirectoryIndex main.html index.php test.shtml
Описание: позволяет устанавливать альтернативные страницы ошибок
Синтаксис: ErrorDocument code URL-path
URL-path
- локальный адрес страницы
code - код ошибки. Наиболее типичные коды ошиброк:
401 Требуется авторизация (Authorization Required)
403 пользователь не прошел аутентификацию, запрет на доступ (Forbided)
404 запрашиваемый документ (файл, директория) не найден (Not Found)
500 внутренняя ошибка сервера ошибка скрипта или ошибка в синтаксисе файла .htaccess - (Internal Server Error)
ErrorDocument 401 /401.html ErrorDocument 403 /403.html ErrorDocument 404 /404.html ErrorDocument 500 /500.html
<FilesMatch ".(mytype)$"> SetOutputFilter INCLUDES </Directory>
Описание: устанавливает обработчик для файлов в заданной директории
Синтаксис: SetHandler handler-name
SetHandler php-script
Описание: устанавливает обработчик для файлов указанного типа
Синтаксис: AddHandler handler-name filename-extension
AddHandler php-script .html AddHandler parser-script .htm
По умолчанию на сервере установлена кодировка Windows-1251
AddDefaultCharset koi8-r
SSI позволяют "собирать" страницу из кусочков. В одном кусочке у вас код меню, в другом код верхней части страницы, в третьем - нижней. А посетитель видет обычную страницу, которая состоит из того кода, который входит в ваши кусочки. Необходимы обязательные установки в httpd.conf: В блоке, начинающемся с <Directory/> и заканчивающийся </Directory> в строку Options Indexes добавьте Includes. После, в файле .htaccess пишем:
AddOutputFilter Includes .html .htm
Предположим, что у вас вся графика, используемая на сайте находится в директории img. Посетитель может набрать в адресной строке браузера эту директорию и увидеть список всех ваших графических файлов. Конечно, это не нанесет вам урона, но можно и не дать такого просмотра посетителю. В .htaccess пишем:
Директива htpasswd служит для создания файла с паролями, который может быть использован при аутентификации пользователей веб-сервером.
Пример: создание файла с паролями и добавление в него 1 имени:
htpasswd -c Filename username
Пример: Добавление или изменение файла с паролями
htpasswd Filename username2
500-я ошибка может быть вызвана следующими причинами:
1. неверный синтаксис .htaccess
2. файл .htaccess записан в формате Windows, а должен быть записан в формате UNIX
Разработка: © Творческая группа "Экватор", 2011-2024
Версия системы: 1.1
Связаться с разработчиками: [email protected]