Webobzor.net -> Статьи -> Apache
Руководство по использованию .htaccess21.09.2006 12:02
Файл .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. Пароль хранится в зашифрованном виде. Для формирования файла .htpasswd вы можете воспользоваться нашим веб инструментом.
armadaboard.com
Комментарии: [18]  | Ифил-хуифил | 16.04.2007 17:35 | | квоте:
*** Только армадовцы увидят ваш сайт.
спижжено с армады.
автор не умеет копипастить) |
|
 | lexa | 18.04.2007 15:42 | | Эта статья лежала у меня в виде вордовского документа еще сто лет назад. Как я мог узнать что она оказывается с армады? Мне что их розыскивать? Кинь ссылку посмотрю. |
|
 | Ифил | 19.04.2007 12:10 | | http://www.armadaboard.com/topic3101.html - кажется это. |
|
 | DS | 08.06.2007 20:44 | | подскажте можно ли использовать .htaccess для запрета копирования текста страницы, изображения и запрета сохранения страницы? если да то как? спасибо. |
|
 | lexa | 08.06.2007 23:40 | | по копированию текста страницы и запрета ее сохранения есть специальные JS скрипты, через htaccess это не запретишь, по крайней мере я ни о чем таком не слышал, можно запретить загрузку ваших изображений на другом сайте, например
RewriteEngine On
RewriteOptions MaxRedirects=100
RewriteCond %{HTTP_REFERER} !^http://(www.)?site.ru/ [NC]
#RewriteCond %{HTTP_REFERER} !^$
RewriteRule .(jpe?g|gif|bmp|png|ipb)$ http://site.ru/style_images/fake.gif [L]
где вместо site.ru - адрес вашего сайта, а fake.gif - это картинка, которая будет отображатся на другом сайте (можно например повесить картинки с надписью "Нелицензионное копирование изображения" :) |
|
 | DS | 09.06.2007 18:56 | | спасибо за ответ. а можно ли подробнее про "специальные JS скрипты"? где можно почитать? хотелось бы защитить именно текст. еще раз спасибо. |
|
 | lexa | 10.06.2007 00:37 | | На самом деле от "Сохранить как" невозможно уберечся, можно например поставить запрет на копирование и выделение контента, например body oncopy="Javascript:return false" onselectstart="Javascript:return false"> |
|
 | DS | 16.06.2007 21:17 | | уже что-то, большое спасибо. |
|
 | Lamas | 27.07.2007 12:51 | | Никто не помешает отключить скрипты. Защиты от копирования НЕТ! |
|
 | sss | 30.07.2007 23:20 | | Для того, что бы эти файлы .htaccess можно было использовать — необходимы соответствующие настройки главного конфигурационного файла. В файле httpd.conf должны быть прописаны директивы, которые разрешат файлу .htaccess переопределять конфигурацию web-сервера в каталоге. Эта директива называется AllowOverride. Она может быть установлена как для всего сервера (глобально), так и для отдельного каталога.
Автор - Голышев С.В. |
|
 | dx689  | 27.08.2007 10:12 | | [quite]Можно показывать разные страницы сайта, в зависимости от IP адреса посетителя (редирект по IP)
SetEnvIf REMOTE_ADDR 192.168.8.1 REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ /no.html[/quite]
а как сделать тоже самое но с выборкой не по айпи, а по моделям сот.телефонов? |
|
 | -=FreeMan=-  | 28.08.2007 23:02 | | аналогично. только вместо IP адреса указать модели телефонов |
|
 | anrysys  | 30.12.2007 14:52 | | Вы сможете многое узнать по ключевым словам: скачать, download, софт, юмор, приколы, mp3, музыка, игры, фильмы, кино, видео, обои, icq, номера, дом 2, елена беркова, мобилки, шаблоны, скины, железо, скрипты, norton, antivirus, opera, outpost, firewall, the bat, adobe, photoshop, cs, the sims 2, серега, черный бумер, mp3, обои, warez, soft, games, films, pricols, skins, video, walls, free, бесплатно, crissy, moran, chrissy, moran, скачать, crack, download, filefactory, скрипт, программы, приложения, софт, операционная система, оперативная память, руководство, софт, линукс, виндовс, юникс, макинтош, POCKET PC, program, soft, system, windows, linux, unix, script, креатив, адреналин, adrenalin, creative, музыка, клипы, композиция, мелодия, песня, петь, поет, певец, артист, композитор, симфония, классика, соната, ария, рок, поп, блюз, реп, хип, хоп, денс, брейк, music, rock, pop, dance, blues, raggy, игра, играть, игрушка, games, counter, CS, half-life, lineage, S.T.A.L.K.E.R, S.T.A.L.K.E.R., stalker, counter-strike, counter, strike, GTA, художественные, документальные, познавательные, фильмы, сериалы, видео, видео-приколы, фанни, демки, анимация, анонс, новости, актуально, отдых, фото, спорт, футбол, космос, планета, девочки, знакомства, скачать бесплатно, обновление windows, windows vista, аркада, arcade, Ass hunter, Asteroids, Billards, Спортивные, флеш игры, flash games, flash игры, flash, Blocks, Логические, Bomb Jack, Breakout, Castle Defender, Стрелялки, chicken, Collapse, Conundrum, Crazy Scates, Donkey Kong, Eva And Adam, Extreme Racing, гонки, Йети спорт, Flayer, FLOWER FRENZY, Helicopter, Леталки, Логические, ,JigSaw Puzzle Dog, JigSaw Puzzle Monkey, Majoing, Шанхайская династия,Monster Hatch, Интелектуальные игры, Mood Match, Детские, Moon Lander, Moto Racer, Muay Thai, Драки, Mud and Blood, NFS, NEED FOR SPEED, Стриптиз, Эротические игры, Сrazy Сloset, Pac Man, Paradise Island:Jig Saw Puzzle, Penguin Hit, Simon, Slidermania, Snake, snakenew, Soccer Ball, Sonic, sonicblox, Space Invaders, spaceace, Spark Your Neurons, Tetris, togyballBH, Ultimate Billiards, Ultimate Ping, Ultimate Racing, Ultimate Snake, Urabanslug, x227sm, yeti в греции, Zoo Keeper, книги, электронные книги и многое другое. |
|
 | Вовка  | 11.06.2008 11:40 | | Очень хороший сайт! буду тут ещё |
|
 | Великий кукурузо | 19.09.2008 08:23 | | Спасибо, всё очень понятно! |
|
 | Dedushka  | 23.10.2008 13:21 | | еще хорошо бы про параметры типа [NC], [OR] поподробнее |
|
 | soner  | 12.11.2008 18:23 | | Умные люди, подскажите плиз, как изящно сделать редирект по группе ip-шников, т.е не помаске, ибо они все в разнобой. |
|
 | lexa | 12.11.2008 20:44 | | по группе это как? например забанить всех с США? или как? объясни что ты имеешь в виду |
|
Добавить комментарий:
|
|
Популярные статьи
|
|
|
|
|
 | Последние комментарии | |
|
|
|
 | Счетчики | |
|
|
|
|
|