|
|||||
| Хостинг | Тарифы | Домены | Как заказать | Оплата | Партнерам | Справка | Контакты | Регистрация | Управление | ||||
| справка >> руководства >> .htacces, SSI | |||||
|
Хостинг Домены Сайты Как заказать Оплата услуг Справка Начинаем работу Загрузка файлов Заказы и платежи Управление сайтами Почта Управление доменами Организационные вопросы Партнер Скрипты, базы данных Доступ по SSH Руководства .htaccess, SSI SSI CGI Perl SSH SSL Parser PHP FTP MySQL Расписание Поиск по сайту Ошибки HTTP Рекомендуемое п/о О компании Партнерам Новости |
Справочная информация по работе с .htacces и SSIОписание синтаксиса и примеры работы с .htaccess
Для чего служит .htaccess?Файл .htaccess позволяет индивидуально настраивать работу веб-сервера для вашего сайта. Можно устанавливать пароли для доступа к странице или целой папке, устанавливать страницу, выдаваемую по умолчанию при запросе к каталогу, и многие другие. Вы можете создаватьнесколько файлов .htaccess по одному для каждой директории на вашем сайте. При изменении в файле .htaccess нет необходимости перезапускать сервер как только вы поменяли что-то в этом файле, изменения тут же вступают в силу. Даже если вы допустите ощибки в этом файле, то они отразятся только на вашем сайте (или на той его директории, в которой он расположен). Если файл .htaccess расположен в корневой директории сервера, то его действия распространяется на весь сервер, кроме тех директорий, где находится другой файл .htaccess (и кроме всех папок "ниже" этой папки со вторым .htaccess). Поскольку файл .htaccess является служебным, то он не доступен Пример: Структура ваших директорий на сервере такая: (серым цветом отмечены директории в которых нельзя устанавливать файл .htaccess / | +-- /www/ (корневая директория вашего веб-сервера) | | | +-- .htaccess | | | +-- /www/news/ | | | | | +-- .htaccess | | +-- main.html | | | | | + /www/news/2003.10/ | | | | | | | + .htaccess | | | | | + /www/news/2003.11/ | | | +-- /www/data/ | | | | | +-- .htaccess | | +-- .htpasswd | | | +-- /www/images/ | +-- /cgi-bin (для cgi скриптов) | +-- /logs (служебная) | +-- /stats (служебная) Действие .htaccess автоматически распространяется на все вложенные директории. Таким образом будут действовать следующие файлы .htaccess:
Правила написания .htaccess
Правильный пример: DirectoryIndex /home/st1331/www/data/main.html Ошибка:
Правильный пример: Redirect /oldsite/ http://www.site.ru/ Ошибка:
Комментарии - строки, начинающиеся с символа В выражениях можно использовать переменные окружения, например %{REMOTE_ADDR} или %{HTTP_REFERER}. Определение области действия директивДиректива FilesОписание: дирктива <Files filename> ... </Files>
<Files my_secure_document.html>
Order Deny,Allow
Deny from all
Allow from 192.168.1.1
</Files>
Директива FilesMatchОписание: директива <Files regex> ... </Files>
<FilesMatch "\.(gif|jpe?g|png)$">
Order Allow,Deny
Allow from all
Deny from 192.168.1.1
</FilesMatch>
Перенаправления (редиректы)Директива RedirectОписание: Выполняет редирект посетителя, запрашивающего документ на другой URL. Выполняет внешний редирект (сообщая браузеру о необходимости загрузить другой URL). Redirect [status] URL-path
URL
Redirect temp / http://www.iho.ru/newyear.html Redirect temp /index.html http://www.iho.ru/newyear.html Redirect permanent /prices2002.html http://www.iho.ru/prices2003.html Директива RedirectMatchОписание: Выполняет редирект посетителя, запрашивающего документ на другой
URL. Выполняет внешний редирект (сообщая браузеру о необходимости
загрузить другой URL). Директива аналогична Redirect [status] regexp URL
RedirectMatch (.*)\.gif$ http://www.myserver.com$1.png RedirectMatch (.*\.jpg)$ http://www.myanother.com$1 Пример: разные страницы, в зависимости от IP адреса посетителя. В примере
посетители с адреса
RewriteCond %{REMOTE_ADDR} 192.168.1.1
RewriteRule ^/$ /anoter_index_pahe.html [L]
Пример: разные страницы, в зависимости от ссылающейся страницы. В примере
посетители, приходящис со страницы
RewriteCond %{HTTP_REFERER} http://www.partner.ru/recep.html
RewriteRule ^/prices.html$ /anoter_prices.html [L]
Перенаправление посетителя при запросе определенных страниц:Это уже для всех сетевых вирусов и сканеров. Теперь любой запрос с адресом /_vti_bin будет автоматически перенаправляться на Microsoft: redirect /_vti_bin http://www.microsoft.com redirect /scripts http://www.microsoft.com redirect /MSADC http://www.microsoft.com redirect /c http://www.microsoft.com redirect /d 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 Ограничение доступа (пароли)Директива OrderОписание: Устатавливает порядок работы директив Order порядок
Директива DenyОписание: Запрещает доступ определенных клиентов к ресурсам. Deny from all|host
Директива AllowОписание: Разрешает доступ определенных клиентов к ресурсам. Deny from all|host
Пример: запрет на доступ для всех Order Deny,Allow Deny from all Пример: разрешение на доступ для определенных IP адресов Order Deny,Allow Deny from all Allow from .iho.ru Allow from 192.168.1.1 Пример: запрет на доступ для определенных IP адресов Order Allow,Deny Allow from all Deny from .iho.ru Deny from 192.168.1.1 Пример: запрет на доступ для определенный файл. В примере запрещается доступ
к файлу <Files ".htpasswd"> Order Deny,Allow Deny from all </Files> Пример: запрет на доступ для определенной группы файлов. В примере запрещается доступ к файлам с расширениями "lib" и "pm" для всех посетителей <FilesMatch "\.(lib|pm)$"> Order Deny,Allow Deny from all </FilesMatch> Установка пароля на доступДиректива AuthName
Описание: значение Директива AuthType
Описание: Эта директива выбирает тип аутентификации. Возможны следующие типы:
AuthType Basic|DigestДиректива AuthUserFile Описание: значение AuthUserFile путь-к-файлуДиректива RequireОписание: Определяет пользователей, которые могут получить доступ Require имя-пользователя|valid-userУказывая Пример: разрешает доступ директории всем пользователям: AuthName "Restricted area" AuthType Basic AuthUserFile /home/st1331/www/data/.htpasswd Require valid-user Пример: разрешает доступ к директории только 3-м пользователям: AuthName "Very restricted area" AuthType Basic AuthUserFile /home/st1331/www/data/.htpasswd Require user antonio solo marina Пример: ограничение доступа к определенным файлам (в этом примере ограничен доступ к zip архивам) <FilesMatch "\.zip$"> AuthName "Only valid users can download zip files." AuthType Basic AuthUserFile /home/st1331/www/data/.htpasswd Require valid-user </FilesMatch> Пример: ограничение доступа к одному файлу (в этом примере ограничен доступ к файлу .htpasswd) <Files ".htpasswd"> AuthName "Access restricted." AuthType Basic AuthUserFile /home/st1331/www/data/.htpasswd Require user antonio solo </Files> Управление серверомДиректива DirectoryIndex - изменения страницы по умолчанию (стартовой)Описание: Позволяет изменить страницу, которая будет показываться при обращении к директории DirectoryIndex page [page]
DirectoryIndex main.html index.php test.shtml Директива ErrorDocument - обработка ошибокОписание: позволяет устанавливать альтернативные страницы ошибок ErrorDocument code URL-path
401 Требуется авторизация (Authorization Required)
403 пользователь не прошел аутентификацию, запрет на доступ (Forbided) 404 запрашиваемый документ (файл, директория) не найден (Not Found) 500 внутренняя ошибка сервера ошибка скрипта или ошибка в синтаксисе файла .htaccess - (Internal Server Error) ErrorDocument 401 /401.html ErrorDocument 403 /403.html ErrorDocument 404 /404.html ErrorDocument 500 /500.html Директива AddOutputFilter - установка фильтра (SSI)<FilesMatch "\.(mytype)$"> SetOutputFilter INCLUDES </Directory> Директива SetHandler - установка обработчика (PHP, Parser)Описание: устанавливает обработчик для файлов в заданной директории SetHandler handler-nameSetHandler php-script Директива AddHandler - установка обработчика (PHP, Parser)Описание: устанавливает обработчик для файлов указанного типа AddHandler handler-name filename-extensionAddHandler php-script .html AddHandler parser-script .htm Директива AddDefaultCharset - установка обработчика (PHP, Parser)По умолчанию на сервере установлена кодировка Windows-1251 AddDefaultCharset koi8-r Как заставить Апач обрабатывать SSI директивы?SSI позволяют "собирать" страницу из кусочков. В одном кусочке у вас код меню, в другом код верхней части страницы, в третьем - нижней. А посетитель видет обычную страницу, которая состоит из того кода, который входит в ваши кусочки. Необходимы обязательные установки в httpd.conf: В блоке, начинающемся с <Directory/> и заканчивающийся </Directory> в строку Options Indexes добавьте Includes. После, в файле .htaccess пишем: AddOutputFilter Includes .html .htm Как поставить запрет на отображение содержимого директории при отсутствии индексного файла?Предположим, что у вас вся графика, используемая на сайте находится в директории img. Посетитель может набрать в адресной строке браузера эту директорию и увидеть список всех ваших графических файлов. Конечно, это не нанесет вам урона, но можно и не дать такого просмотра посетителю. В .htaccess пишем: Options -Indexes Утилита htpasswdДиректива htpasswd служит для создания файла с паролями, который может быть использован при аутентификации пользователей веб-сервером.
Пример: создание файла с паролями и добавление в него 1 имени: htpasswd -c Filename username Пример: Добавление или изменение файла с паролями htpasswd Filename username2 Добавил файл .htaccess, и теперь сервер выдает 500 ошибку. Почему?500-я ошибка может быть вызвана следующими причинами:
|
|
|||||||||||||||||||
| © 2002-2009 ООО "АЙХО Нетворкс" | Хостинг IHO.RU | Санкт-Петербург | лицензия на телемат. уcлуги N 33942 | карта сайта | обратная связь | |||||||||||||||||||||