

SYS.net.ruЗаписки системного администратора |
|
Аккаунт |
Главная »
Документы »
.htaccess howto
.htaccess howtoНабирая адрес в строке браузера, вы получаете на свой компьютер
файлы, которые отображает браузер. Управление тем, какие файлы и как
вам показывать (пересылать) осуществляет веб-сервер. Наиболее
популярных серверов два: IIS и Apache. Это файл гибкой настройки веб-сервера Апач. "Гибкий" обозначает, что
как только вы поменяли что-то в этом файле, изменения тут же вступают в
силу. С помощью него можно переопределить многие директивы из файла
httpd.conf (этот файл является главным конфигурационным файлом сервера
Апач и его действия распространяются полностью на всех пользователей
данной копии Апача). В случаях, когда у вас нет доступа в файлу
настройки Апача (тот же виртуальный хостинг), вам поможет именно этот
файл.
Синтаксис .htaccess Вот обязательной синтаксис, несоблюдение которого приводит к ошибкам сервера: Файл имеет название именно "точка" htaccess
Запрет на все файлы:
В данном случае, <ваш ip> обозначает конкретный адрес. Запретить доступ с определенного ip: Использование <ваш ip> аналогично для примера выше. Запрет на группу файлов по маске: Определяет доступ к файлу по его расширению. В данном примере сам веб-сервер Апач может обращаться к файлам с таким расширениям.
В данном примере стоит запрет на обращения к файлу config.inc.php. Пароль на директорию: Значение AuthName будет выводиться для посетителя и может использоваться для пояснения запроса авторизации. Значение AuthUserFile указывает на место, где хранится файл с паролями для доступа к данной директории. Этот файл создается специальной утилитой htpasswd.exe. Например в директории, которую защищаем паролем создаем такой .htaccess: В этом примере, посетитель при запросе директории, будет читать фразу "For Registered Users Only", файл с паролями для доступа должен лежать в директории /pub/site.ru/ и называться .htapasswd . Директория указывается от корня сервера, если вы неправильно зададите директорию, то Апач не сможет прочитать файл .htpasswd и никто не получит доступа к данной директории. Пароль только на 1 файл: Пароль на группу файлов: Проверка прав доступа Задача: есть каталог a1 и в нем два вложенных каталога a2, a3,
введено 2 уровня пользователей. 1 группа имеет доступ только к a1 и a2,
2-я ко всем трем каталогам. Необходимо проводить аутентификацию только
1 раз - при доступе к a1, но при этом соблюдать права на доступ к а2 и
а3. www.site.ru/a1
файл .htaccess для каталога а2: файл .htaccess для каталога а3: Как сделать перенаправление (редирект) посетителя? Редирект на другой url: Показ разных страниц, в зависимости от IP адреса посетителя: Например, перенаправление посетителей с ip адресом 192.12.131.1 на страницу about_my_sity.html: Перенаправление посетителя при запросе определенных страниц: redirect /_vti_bin http://www.microsoft.com Как сделать стартовой другую страницу?
Можно указывать несколько страниц. DirectoryIndex index.shtml index.php index.php3 index.html index.htm Как заставить Апач обрабатывать SSI директивы? SSI позволяют "собирать" страницу из кусочков. В одном кусочке у вас
код меню, в другом код верхней части страницы, в третьем - нижней. А
посетитель видет обычную страницу, которая состоит из того кода,
который входит в ваши кусочки. После, в файле .htaccess пишем: AddHandler server-parsed .shtml .shtm .html .htm Как заставить Апач выполнять в html документах php код? Иногда бывает полезно "обмануть" посетителя, выдавая ему свои php-скрипты или иные файлы, как html файлы. Реально используется для индексации поисковой системой Rambler php-скриптов. Некоторые делаю мелкие фишки, вроде того, что дают фалам расширения совпадающие с какими-либо "знаковыми" именами. Например, на сайте http://www.wmaster.ru/WIND98/TEMP/Rar$EX00.001/www.osg.ru используются файлы с расширением osg: index.osg, script.osg и т.п. RemoveHandler .html .htm При большой посещаемости сервера может вызвать тормоза. Спрашивайте у админа. Как самому обрабатывать ошибки Апача? Наиболее интересные и полезные ошибки Апача это: 403-404, 500. ErrorDocument 403 /errors/403.html При этом при возникновении 404 ошибки пользователю загрузится файл errors/403.html. Удобно делать собственный обработчик на некоторые ошибки. В .htaccess пишем: В error.php через $HTTP_SERVER_VARS'REQUEST_URI' определяем какой
документ вызвал ошибку и дальше обрабатываем. Если в .htaccess на
ErrorDocument стоит указание файла с полным путем (http://site.ru/error.php), то $HTTP_SERVER_VARS'REQUEST_URI' будет содержать этот файл, а не вызвавший ошибку. Как поставить запрет на отображение содержимого директории при отсутствии индексного файла? Предположим, что у вас вся графика, используемая на сайте находится в директории img. Посетитель может набрать в адресной строке браузера эту директорию и увидеть список всех ваших графических файлов. Конечно, это не нанесет вам урона, но можно и не дать такого просмотра посетителю. В .htaccess пишем: Options -Indexes Можно ли указать кодировку на все файлы, в которой по умолчанию получает документы браузер? На заре интернета и зарождения браузеров, часто была ситуация, что браузер не мог автоматически определить, в какой из русских кодировок написан документ и в браузер выдавалась какая-то каша. Для избежания этого указываем, что все отдаваемые страницы будут иметь кодировку windows-1251: AddDefaultCharset windows-1251 Можно ли указать кодировку на загружаемые файлы? При загрузке посетителем файла на сервер, возможна перекодировка его - указываем, что все получаемые файлы будут иметь кодировку windows-1251: CharsetSourceEnc windows-1251 Создал файл .htaccess, но сервер выдает 500 ошибку - Internal Erorr Ошибка синтаксиса или файл записан не в том формате. |
Copyright © 1999-2010 by SYS.NET.RU | История изменений | |