[ Вход · Регистрация · Поиск · ]
  • Страница 1 из 1
  • 1
Файл .htaccess
lanxДата: Пятница, 31.10.2008, 20:13 | Сообщение # 1
Владелец сайта
Группа: Администраторы
Сообщений: 147
[ ]
Награды:
[ 1 ]
:-(
Файл .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.talkonline.ru :

Код
Order Deny,Allow
Deny from all
Allow from .talkonline.ru



Запрет доступа для определенного 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://talkonline.ru


*** все посетители будут перенаправлены на www.talkonline.ru

Перенаправление посетителей при запросе определенных страниц:
Защищаемся от всяческих сетевых вирусов и сканеров.
Добавляем в .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.yandex.ru
RewriteRule ^/yandex.html$ /google.html [L]


*** В данном случае все с yandex.ru вместо файла yandex.html получат файлик google.html


Можно показывать разные страницы сайта, в зависимости от IP адреса посетителя (редирект по IP)


Код
SetEnvIf REMOTE_ADDR 192.168.8.1 REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ /nahui.html


*** Посетители с айпи адресом 192.168.8.1 будут перенаправляться .htaccess'ом на страницу nahui.html


Ставим запрет на отображение содержимого директории при отсутствии индексного файла:

Options —Indexes

Обработка ошибок 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://talkonline.ru
ErrorDocument 403 http://talkonline.ru
ErrorDocument 404 http://talkonline.ru
ErrorDocument 500 http://talkonline.ru







  • Страница 1 из 1
  • 1
Поиск:

Хостинг от uCoz