Файл настройки доступа к серверу .htaccess
Сайтостроение
Файл
настройки доступа к серверу .htaccess
Автор: Максим Приходько
Опубликовано 30 ноября 2005 года
Так как среди
серверных систем наиболее популярна операционная система Unix, то и самый
распространенный сервер не MS IIS,
а Apache (версия которого, правда, существует и для Windows).
Когда в строке
браузера вводится имя вашего сайта, именно сервер
решает, какие файлы показывать и как. А управлять работой
сервера в отношении веб-сайта можно манипулируяфайлом настройки .htaccess, любое изменение которого
незамедлительно вступает в силу.
Синтаксис .htaccess имеет жесткую структуру, несоблюдение которого
приводит к ошибкам сервера, поэтому необходимо выполнять следующие два
требования:
- Пути к файлам (директориям)
указываются от корня сервера. Например: /opt/home/www.mysite.ru/htdocs/config/.htpasswords
- Домены указываются с указанием
протокола. Например: Redirect /
http://www.site.ru
Файл должен
называться именно "точка" htaccess и быть
записан в UNIX-формате. В FAR, например, при редактировании можно нажать
Shift+F2 и выбрать пункт меню "Сохранить как UNIX-текст".
Приведем
простые примеры управления доступа к сайту с использованием файла .htaccess:
Запрет на все
файлы:
deny fromall
Здесь 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>
В этом примере
посетитель при запросе директории будет видеть фразу "ForRegistered 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
Продолжение
следует...
Дата створення/оновлення: 25.05.2018