Руководство по использованию .htaccess
Файл .htaccess используется для "гибкой" настройки сервера
Apache (обработки ошибок, ограничения доступа). В этой
статье будем учиться его использовать. Обычно файл .htaccess
лежит в корневом каталоге и действует на весь сайт и на все
дирректрии (если в них не находится "своего" .htaccess).
Если необходимо создать конкретные настройки Apache для
определенной папки, следует поместить в нее новый файл .htaccess
и действие его распространится на данную папку. Причем .htaccess
лежащий в корне сайта никак влиять на эту папку в этом
случае не будет.
Как сделать
.htaccess
Просто. На локальном компе создаем текстовый документ .htaccess.txt,
по FTP заливаем его на хост, и переименовываем в .htaccess
Теперь немного конкретики. Что можно сделать посредством .htaccess?
Меняем страницу, которая будет показываться при обращении к
директории.
Пропишем в файле .htaccess:
DirectoryIndex
index.shtml
*** При обращение к директории, в которой лежит .htaccess,
будет грузиться файл index.shtml
Запрет доступа с помощью .htaccess
При желании можем дать запрет на все файлы:
deny from all
*** Никто ничего не увидит.
Разрешить доступ посетителю только с определенного ip:
Order Allow,Deny
deny from all
allow from 192.168.8.1
*** Всем кроме посетителя с IP 192.168.8.1 доступ запрещен.
Кстати, вместо ip адреса в .htaccess можно использовать имя
домена. Например. Запретим доступ для всех посетителей,
кроме пришедших с www.webobzor.net :
Order Deny,Allow
Deny from all
Allow from .webobzor.net
***
Только армадовцы увидят ваш
сайт.
Запрет доступа для определенного ip:
Order Allow,Deny
Allow from all
deny from 192.168.8.1
*** Для посетителя с IP 192.168.8.1 доступ на сайт запрещен.
**** Только не спрашивайте у меня где всять список китайских
ip
Аналогично, как и в примере выше, можно вместо (а можно и
совместно) IP использовать имя домена, т.е. запретить доступ
для посетителей, пришедших с определенного сайта:
Order Allow,Deny
Allow from all
deny from .thehun.net
deny from
192.168.8.1
*** Для посетителя с IP 192.168.8.1 и всех, кто пришел с
thehun.net доступ на сайт запрещен.
Определенная кодировка на все загружаемые на хост файлы:
CharsetSourceEnc windows-iso-8859-1
*** все файлы будут иметь кодировку windows-iso-8859-1
Можно выставить определенную кодировку лишь на конкретные
загружаемые на хост файлы:
AddType
"application/x-httpd-php3; charset=windows-iso-8859-1" .html
AddType
"application/x-httpd-php3; charset=windows-1251" .htm
*** Устанавливаем кодировку windows-iso-8859-1 на файлы
.html и windows-1251 на файлы .htm
Кодировка на все файлы, в которой по умолчанию будет
получать их браузер посетителя:
AddDefaultCharset windows-iso-8859-1
*** Все страницы, которые отдает сервер клиенту, будут иметь
кодировку windows-iso-8859-1
Перенаправляем посетителей на другой URL (редирект)
В .htaccess пишем:
Redirect /
http://www.webobzor.net
*** все посетители будут перенаправлены на www.webobzor.net
Перенаправление посетителей при запросе определенных
страниц:
Защищаемся от всяческих сетевых вирусов и сканеров.
Добавляем в .htaccess:
redirect /scripts
http://www.microsoft.com
redirect /_vti_bin
http://www.microsoft.com
redirect /MSADC
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
*** Любой запрос с адресом /_vti_bin или /scripts будет
автоматически перенаправляться на сайт Microsoft.л
Редирект посетителей в зависимости от реффера
(ссылающейся страницы):
RewriteCond
%{HTTP_REFERER} http://www.sexnarod.ru
RewriteRule
^/sex-video.html$ /no.html [L]
*** В данном случае все посетители с форума sexnarod.ru
вместо файла sex-video.html получат файлик no.html
Можно показывать разные страницы сайта, в зависимости от
IP адреса посетителя (редирект по IP)
SetEnvIf
REMOTE_ADDR 192.168.8.1 REDIR="redir"
RewriteCond
%{REDIR} redir
RewriteRule ^/$
/no.html
*** Посетители с айпи адресом 192.168.8.1 будут
перенаправляться .htaccess'ом на страницу no.html
Ставим запрет на отображение содержимого директории при
отсутствии индексного файла:
Options -Indexes
*** Это пригодится, если картинки или видео лежат в
определенной папке, например, content на вашем хосте.
Обработка ошибок c помощью .htaccess:
ErrorDocument 401
/401.html
ErrorDocument 403
/403.html
ErrorDocument 404
/404.html
ErrorDocument 500
/500.html
401 -
Требуется авторизация
- Authorization Required
403 - запрет на доступ - Forbided
404 - запрашиваемый документ (файл, директория) не найден -
Not Found
500 - внутренняя ошибка сервера - ошибка скрипта или ошибка
в синтаксисе файла .htaccess - Internal Server Error
Можно создать свои страницы ошибок (см. пример выше), а
можно редиректить на конкретный url:
ErrorDocument 401
http://www.webobzor.net/
ErrorDocument 403
http://www.webobzor.net/
ErrorDocument 404
http://www.webobzor.net/
ErrorDocument 500
http://www.webobzor.net/
Защита директорий При желании можно защитить свои
каталоги или отдельный папки паролем. При этом будем выведен
запрос о вводе логина и пароля пользователя. Например:
AuthName "Ауторизация"
AuthType Basic AuthUserFile
/home/alex/domains/webobzor.net/public_html/access/.htpasswd
AuthGroupFile /dev/null <Files index.html> require
valid-user </Files>
*** При этом при обращении пользователя к файлу index.html
папки access необходимо будет произвести аутентификацию.
Пароли и логины пользователей сохраняются в файле .htpasswd.
Пароль хранится в зашифрованном виде.
Если вам понравилась эта статья и вы хотите рассказать о ней
другим нашим посетителям или просто оставить комментарий
зайдите и напишите в нашей Гостевой книге. Мы будем очень
рады!
При использовании данного материала на информационных
ресурсах, ссылка на наш сайт обязательна!
|