Файл настройки доступа к серверу .htaccess
АрхивСайтостроениеПродолжение серии статей для начинающих сайтовладельцев. Сегодня учимся правильно настраивать веб-сервер Apache.
Продолжение серии статей для начинающих сайтовладельцев. Чтение лучше начать с первой части.
Так как среди серверных систем наиболее популярна операционная система 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:
Запрет на все файлы:
Здесь all обозначает "все".
Разрешить доступ с определенного IP-адреса (например, 192.13.237.14):
deny from all
allow from 192.13.237.14
Запретить доступ с определенного IP-адреса (например, 192.13.237.14):
allow from all
deny from 192.13.237.14
Запрет на группу файлов по маске:
order allow,deny
deny from all
</Files>
В данном примере сам веб-сервер "Апач" может обращаться к файлам с указанными расширениями.
Можно установить запрет на конкретный файл по его полному названию (например, config.inc.php):
order allow,deny
deny from all
</Files>
Пароль на директорию:
AuthType Basic
AuthUserFile /pub/home/логин/.htpasswd
require valid-user
</Files>
Значение AuthName будет выводиться для посетителя и может использоваться для пояснения запроса авторизации. Значение AuthUserFile указывает на место, где хранится файл с паролями для доступа к данной директории. Этот файл создается специальной утилитой htpasswd.exe.
Например в директории, которую защищаем паролем создаем .htaccess со следующим содержанием:
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 указать следующую информацию:
AuthName "Users zone"
AuthType Basic
AuthUserFile /pub/home/логин/.htpasswd
</Files>
Аналогично, используя команду <Files "\.(inc|sql|другие расширения)$">, можно указывать пароли по маске файлов. Например, для установки пароля на доступ ко всем файла с расширением .sql необходимо указать следующую информацию:
AuthName "Users zone"
AuthType Basic
AuthUserFile /pub/home/yoursite.ru/.htpasswd
</Files>
Для того чтобы сделать перенаправления посетителя на сайт http://www.site.ru, в .htaccess необходимо указать:
Продолжение следует...