Файл настройки доступа к серверу .htaccess Продолжение серии статей для начинающих сайтовладельцев. Чтение лучше начать с первой части.
Так как среди серверных систем наиболее популярна операционная система Unix, то и самый распространенный сервер не MS IIS, а Apache (версия которого, правда, существует и для Windows).
Когда в строке браузера вводится имя вашего сайта, именно сервер решает, какие файлы показывать и как. А управлять работой сервера в отношении веб-сайта можно манипулируя файлом настройки .htaccess, любое изменение которого незамедлительно вступает в силу.
Синтаксис .htaccess имеет жесткую структуру, несоблюдение которого приводит к ошибкам сервера, поэтому необходимо выполнять следующие два требования: 1.Пути к файлам (директориям) указываются от корня сервера.Например: /opt/home/www.mysite.ru/htdocs/ config/.htpasswords 2.Домены указываются с указанием протокола. Например: Redirect / http://www.site.ru
Файл должен называться именно "точка" htaccess и быть записан в UNIX-формате. В FAR, например, при редактировании можно нажать Shift+F2 и выбрать пункт меню "Сохранить как UNIX-текст".
Приведем простые примеры управления доступа к сайту с использованием файла .htaccess:
Запрет на все файлы: deny from all
Здесь all обозначает "все".
Разрешить доступ с определенного IP-адреса (например, 192.13.237.14): order allow deny deny from all allow from 192.13.237.14
Запретить доступ с определенного IP-адреса (например, 192.13.237.14): order allow deny allow from all deny from 192.13.237.14
Запрет на группу файлов по маске: <Files "\.(inc|sql|другие расширения)$"> order allow,deny deny from all </Files>
В данном примере сам веб-сервер "Апач" может обращаться к файлам с указанными расширениями.
Можно установить запрет на конкретный файл по его полному названию (например, config.inc.php): <Files config.inc.php> order allow,deny deny from all </Files>
Пароль на директорию: AuthName "Private zone" AuthType Basic AuthUserFile /pub/home/логин/.htpasswd require valid-user </Files>
Значение AuthName будет выводиться для посетителя и может использоваться для пояснения запроса авторизации. Значение AuthUserFile указывает на место, где хранится файл с паролями для доступа к данной директории. Этот файл создается специальной утилитой htpasswd.exe.
Например в директории, которую защищаем паролем создаем .htaccess со следующим содержанием: AuthName "For Registered Users Only" AuthType Basic AuthUserFile /pub/home/yoursite.ru/.htpasswd require valid-user </Files>
В этом примере посетитель при запросе директории будет видеть фразу "For Registered Users Only", файл с паролями для доступа должен лежать в директории /pub/yoursite.ru/ и называться .htapasswd . Директория указывается от корня сервера. Если вы неправильно укажете директорию, то Apache не сможет прочитать файл .htpasswd и никто не получит доступа к данной директории.
Аналогично защите целой директории можно установить пароль только на один файл. Например, для защиты файла private.zip необходимо в файле .htaccess указать следующую информацию: <Files private.zip> AuthName "Users zone" AuthType Basic AuthUserFile /pub/home/логин/.htpasswd </Files>
Аналогично, используя команду <Files "\.(inc|sql|другие расширения)$">, можно указывать пароли по маске файлов. Например, для установки пароля на доступ ко всем файла с расширением .sql необходимо указать следующую информацию: <Files "\.(sql)$"> AuthName "Users zone" AuthType Basic AuthUserFile /pub/home/yoursite.ru/.htpasswd </Files>
Для того чтобы сделать перенаправления посетителя на сайт http://www.site.ru, в .htaccess необходимо указать: Redirect / http://www.site.ru
Продолжение следует... По материалам журнала КомпьютерраOnline (www.computerra.ru)
|