ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-talk] Access to directory ...



Здравствуйте, уважаемые apache-гуру!

Имею проблему по настройке Apache при работе совместно с .htaccess

Помогите мне пожалуйста!! Буду Вам очень признателен!

У меня используется Апач 1.3.14 под Windows. Он установлен на
http://localhost. Файлы httpd.conf и .htaccess в конце этого письма.

У меня стоит задача, чтоб обращение по адресу http://localhost/admin/
заканчивалось выдачей мне индексного файла index.shtml.
Само собой эта директория должна быть защищена с помощью .htaccess.

"htdocs" - это корневая директория файлов сервера.

Так вот. У меня в директории "admin" лежит один единственный индексный файл
index.shtml. При обращении по адресу с указанием полного пути и имени файла
(напр: http://localhost/admin/index.shtml) все в порядке - появляется окно
идентификации (те .htaccess работает).

А если обратиться к этой папке без указания названия файла (напр:
http://localhost/admin/), то вместо запроса логина и пароля вылазит 401
ошибка, хотя файл index.shtml указан в httpd.conf как индексный. Сразу хочу
сказать, что с незащищенными директориями таких проблем нет, т.е. обращение
к любой другой директории (напр: http://localhost/rus/) без указания в пути
названия файла заканчивается выдачей мне индексного файла
(напр:http://localhost/rus/index.shtml).

Я уверен что проблема в неправильной настройке httpd.conf, но я не могу
найти ошибку!!!


______________________________________________________
##
## httpd.conf -- Конфигурационный файл сервера Apache HTTP
##
#
# После того, как сервер просмотрит это файл, затем он будет смотреть
# на srm.conf и access.conf. Если вы не хотите перезаписи параметров,
# используйте команды ResourceConfig и/или AccessConfig.
#
# Конфигурационные параметры сгруппированы в три секции
# 1. Команды, которые контролируют весь Apache сервер
# 2. Команды, которые контролируют сервер по умолчанию (сервера 'main' или
'default'),
# и действие которых не распространяется на области, контролируемые
виртуальными серверами.
# 3. Установки для виртуальных серверов, которые позволяют обрабатывать
запросы для серверов,
# которые располагаются на одном ip адресе, несмотря на то, что они
обрабатываются одним
# и тем же процессом.
#
# Во все имена и пути файлов, которые не начинаются с "/", будет выполнена
подстановка
# переменной ServerRoot. То есть, если вы указали путь "logs/foo.log" при
установленном
# ServerRoot в /usr/local/apache, то полный путь будет
/usr/local/apache/logs/foo.log
#
### Раздел 1: Общие настройки
# Показывает тип запуска программы httpd - она может вызываться через inetd
(inetd)
# или как отдельный демон (standalone). По умолчанию вызывается как
отдельный демон.
# Режим inetd поддерживается только на Unix-платформах.
ServerType standalone

# ServerRoot директива устанавливает корневой каталог сервера (именно
сервера, а не каталога,
# из которого будет производиться чтение документов).
# Обычно он содержит подкаталоги conf/ и logs/. Пути для других файлов
конфигурации устанавливаются относительно этого каталога.
# НЕ добавляйте слэш "/" в конец пути.
ServerRoot "c:/Program Files/Apache Group/Apache"

# PidFile директива устанавливает файл, в котором сервер записывает
идентификатор процесса daemon.
# PidFile используется только в standalone режиме.
PidFile logs/httpd.pid

# ScoreBoardFile - файл, используемый для сохранения внутренней информации
сервера. Не все
# архитекруры требуют этот файл. Но если он нужен - Apache сам создаст этот
файл.
# ScoreBoardFile logs/apache_status

# Время в секундах, по истечению которого, при отсутствии запросов сервер
прерывает связь с клиентом.
Timeout 300

# Разрешать (On) или нет (Off) множественные запросы через одно TCP
соединение.
KeepAlive On

# Максимальное количество запросов через одно TCP соединение.
MaxKeepAliveRequests 100

# Время ожидания следующего запроса в секундах.
KeepAliveTimeout 15

# Максимальное количество запросов, который обрабатывает процесс до
завершения работы.
MaxRequestsPerChild 0

# Listen - позволяет вам заставить Apache прицепляться к указанному ip
адресу и/или порту в дополнение к установкам по умолчанию.
#Listen 3000
#Listen 12.34.56.78:80

# Количество одновременных нитей (к примеру, запросов), разрешённых
сервером.
# Устанавливайте значение этого параметра в соответсвии с загруженностью
сервера.
# Большое количество одновременных запросов притормозит сервер.
# Так что выбирайте этот параметр в соответсвии с количеством системных
ресурсов, доступных серверу. По умолчанию - 15
ThreadsPerChild 25

# Подгрузка модуля, помечающего выдаваемые файлы как устаревшие немедленно
после выдачи (чтобы они не кэшировались в браузере)
LoadModule expires_module modules/ApacheModuleExpires.dll
ExpiresActive On
ExpiresByType text/html  "access plus 5 seconds"
ExpiresByType text/plain "access plus 5 seconds"
ExpiresByType image/gif  "access plus 5 seconds"
ExpiresByType image/jpeg "access plus 5 seconds"
ExpiresByType text/css   "access plus 5 seconds"
ExpiresByType application/x-javascript "access plus 5 seconds"
ExpiresByType application/x-httpd-php  "access plus 5 seconds"
ExpiresByType application/x-httpd-php-source "access plus 5 seconds"

# Проверка правильности URL'ов 'на лету' - сервер пытается исправлять ошибки
в УРЛах самостоятельно.
# Это полезно, когда вы используете Apache для тестирования сайта. Иначе
выкиньте этот блок на фиг.
# LoadModule speling_module modules/ApacheModuleSpeling.dll
# CheckSpelling On

# Подгрузка модуля получения информации о состоянии Apache через браузер
# Наберите http://вашсервер/server-status
# и/или http://вашсервер/server-info и радуйтесь
LoadModule status_module modules/ApacheModuleStatus.dll

# ExtendedStatus указывает серверу генерировать "полную" статусную
информацию
# (ExtendedStatus on) или только основную (ExtendedStatus Off) при вызове
обработчика
# "server-status". По умолчанию Off.
ExtendedStatus On

# Подгружается модуль, обеспечивающий работу "server-status" и "server-info"
LoadModule info_module modules/ApacheModuleInfo.dll
<Location /server-status>
  SetHandler server-status
  Order allow,deny
  Allow from all
</Location>
<Location /server-info>
  SetHandler server-info
  Order allow,deny
  Allow from all
</Location>

### Раздел 2: Конфигурация основного сервера
# Эти команды устанавливают реакцию сервера на запросы, которые не
обрабатываются
# установками <VirtualHost>. Так же эти установки являются установками по
умолчанию для всех определений в <VirtualHost>.
# Все эти команды вы можете разместить и в внутри <VirtualHost>. В этом
случае параметры будут переписаны на значения,
# указанные там.
# Если параметр ServerType установлен в inetd, то следующие команды до
ServerAdmin не будут иметь никакого эффекта.
#
# Port - номер порта, на котором сервер будет принимать запросы. Для портов
меньше 1024 вы должны обладать
# правами root при первоначальном запуске.
# См. /etc/services для списка некоторых определенных портов; стандартный
порт для http протокола - 80.
Port 80

# Email админа подставляется в сообщения об ошибках
ServerAdmin eika@mail.ru

# ServerName директива устанавливает hostname сервера; это используется
только для переадресации URLs.
# Если она не определена, то сервер пытается вывести ее из собственного
IP-адреса, но это может работать не надежно,
# или может не возвращать привилегированное hostname.
ServerName localhost

# Каталог, из которого будет производиться чтение документов. По умолчанию,
все документы берутся из этого каталога.
DocumentRoot "c:/Program Files/Apache Group/Apache/htdocs"

# Каждый каталог, до которого сервер имеет доступ, может быть
сконфигурирован по своему.
# Значения действующие в каталоге, распространяются и на все его
подкаталоги, если не указано иное.
# По умолчанию настройки не устанавливают сколь-нибудь высокий уровень
безопастности.
# Каждый каталог, к которосу имеет доступ Apache должен быть внимательно
описан
# и в нём должны быть разрешены/запрещены те службы, которые будут
обрабатывать документы в данном каталоге (и его подкаталогах).
# Запомните, что начиная с этой точки, вы должны разрешить использование
# каждой функции, которую вы планируете использовать.
# Значения могут быть None, All или любая комбинация Indexes, Includes,
FollowSymLinks ExecCGI или MultiViews
# Запомните, что значение MultikViews должно быть указано отдельно -
"Options All" не включает его.
<Directory />
  Options Indexes Includes FollowSymLinks MultiViews
  AllowOverride None
</Directory>

# Это значение должно быть заменено на то, куда указывает DocumentRoot.
<Directory "c:/Program Files/Apache Group/Apache/htdocs">
  Options Indexes Includes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>

# UserDir - название каталога, которые располагается в домашних каталогах
# пользователей и к которому будет произведено обращение в ответ на запрос
# http://server/~user
# UserDir "c:/Program Files/Apache Group/Apache/users/"

# Типа список индексных файлов
DirectoryIndex index.shtml index.php index.html index.htm

# AccessFileName - имя файла, в котором будут располагаться команды
управления доступом
AccessFileName .htaccess
<Files .htaccess>
  Order allow,deny
  Deny from all
</Files>

# Разрешает использование коротких имен в URL'ах. Удобно при использовании в
Intranet-серверах.
# Если включено (on), преобразует что-то типа http://www/stat в
http://www.твой-домен.ru/stat,
# если отключено (off), преобразования не происходит.
UseCanonicalName Off

# определяет полный или относительный путь к файлу mime.types. Путь по
умолчанию: conf/mime.types
TypesConfig conf/mime.types

# Этот параметр определяет MIME тип документа по умолчанию, передаваемого
клиенту
# в случае невозможности автоматического распознавания. Если на вашем
сервере находятся в основном текстовые документы,
# разумным выбором будет text/plain. Если же на вашем сервере больше
двоичной информации, вам будет удобнее оставить
# application/octet-stream чтобы не напрягать браузер отображением картинок,
музыки и т.д. в текстовом виде.
DefaultType text/plain
<IfModule mod_mime_magic.c>
    MIMEMagicFile conf/magic
</IfModule>

# Определяет, будут ли записываться в логи имена (on) или только ip(off)
хостов, заходящих на сайт. По умолчанию off.
HostnameLookups Off

# Директива файла регистрации ошибок устанавливает имя файла, в котором
сервер регистрирует любые ошибки
# с которыми он сталкивается. Если имя файла не начинается с символа слеш
(/), то путь к файлу
# устанавливается относительно ServerRoot.
ErrorLog logs/error.log

# Контролирует количество сообщений, записываемых в error.log.
# Возможные значения: debug, info, notice, warn, error, crit, alert, emerg.
По умолчанию - warn.
LogLevel warn

# Описание различных форматов записи логов. Имя формата используется в
директиве CustomLog.
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# Расположение и формат файлов, в которые пишется информация о скачанном.
# Если вы не определите ни одного файла логов в <VirtualHost>, все записи
# попадут в этот файл, Если определите, то записи для виртуальных серверов
# в этот файл не попадут.
CustomLog logs/access.log common

# Если вы желаете записывать в лог файлы браузеры пользователй и указания,
откуда
# пришел пользователь, то раскомментируйте следующие команды.
CustomLog logs/referer_log referer
CustomLog logs/agent_log agent

# Подпись сервера - возможные варианты Off | On | EMail
ServerSignature on

# Синонимы - добавте так много синонимов для сервера, сколько пожелаете.
Формат Alias синоним реальное имя.
# Запомните, что если вы включаете заключительный слэш "/" в синоним, то
сервер будет требовать, чтобы
# "/" присутствовал и в УРЛе. К примеру, /icons не является ничьим
синонимом, только /icons/
# <IfModule mod_alias.c>

# Основная папка cgi-bin. Здесь надо добавлять слэш "/" к пути к папке
скриптов (так делают авторы Апача).
ScriptAlias /cgi-bin/ "c:/Program Files/Apache Group/Apache/cgi-bin/"
<Directory "c:/Program Files/Apache Group/Apache/cgi-bin">
  AllowOverride None
  Options ExecCGI
</Directory>

# А где у нас живёт PHP?
ScriptAlias /php/ "c:/php/"
<Directory "c:/php">
  AllowOverride None
  Options ExecCGI
</Directory>

# Файлы с какими расширениями считаются у нас PHP-скриптами?
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps
Action application/x-httpd-php /php/php.exe
Action application/x-httpd-php-source /php/php.exe

# Файлы с какими расширениями считаются у нас CGI-скриптами?
AddHandler cgi-script .cgi .pl .bat .exe

# В каких файлах обрабатываются SSI-директивы?
AddType text/html .shtml
AddHandler server-parsed .shtml
AddHandler server-parsed .shtm

# В каких файлах обрабатываются Parser-директивы? (см. www.parser.ru)
AddType parsed-html .html
Action parsed-html /cgi-bin/parser2.exe
<Files ~ "\.cfg$">
Order allow,deny
Deny from all
</Files>

# Как показывать каталог - стандартно (standartd) или с иконкам
(FancyIndexing)?
IndexOptions FancyIndexing

# IndexIgnore указывает серверу, какие файлы необходимо исключить из списка
показываемых
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

# AddEncoding позволяет вам указать тип файла, который позволит некоторым
браузерам распаковывать информацию
# на лету. Замечание - не все браузеры поддерживают эту опцию.
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

# Что мы говорим посетителю, ежели у нас Error XXX ?
ErrorDocument 400 "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
2.0//EN"><html><body><H1>Apache Error 400:</H1><blockquote><code>Извините,
но ваш браузер выдал неполный или ошибочный запрос. Пожалуйста, проверьте
правильность работы вашего программного
обеспечения.</code></blockquote></body></html>
ErrorDocument 401 "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
2.0//EN"><html><body><H1>Apache Error 401:</H1><blockquote><code>Извините,
но доступ к странице закрыт. Проверьте правильность ввода имени и
пароля.</code></blockquote></body></html>
ErrorDocument 403 "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
2.0//EN"><html><body><H1>Apache Error 403:</H1><blockquote><code>Извините,
но у вас нет прав для просмотра этой страницы.<br>В доступе
отказано.</code></blockquote></body></html>
# ErrorDocument 404 "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
2.0//EN"><html><body><H1>Apache Error 404:</H1><blockquote><code>Извините,
но требуемая страница не найдена на
сервере.</code></blockquote></body></html>
ErrorDocument 500 "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
2.0//EN"><html><body><H1>Apache Error 500:</H1><blockquote><code>Извините,
но при выполнении скрипта сервером произошла ошибка.<br>Попробуйте
обратиться к странице позднее.</code></blockquote></body></html>
ErrorDocument 404 /404.html

# запрещает постоянные соединения браузерам, которые не поддерживают их.
BrowserMatch "Mozilla/2" nokeepalive

# запрещает MSIE 4.0b2 отдавать заголовки в стандарте HTTP/1.1, так как
поддержка этого стандарта некорректна в данной версии
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0

# запрещает ответы по стандарту HTTP/1.1 тем браузерам, которые не понимают
ответы в этом стандарте.
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

### Раздел 3: Виртуальные сервера
# Если вы желаете поддерживать много доменов на своей машине, вы должны
использовать <VirtualHost> для их определения.
# Многие виртуальные сервера не должны беспокоиться о том, что они все
находятся на одном ip адресе.
# Такие значения помечаются *
# Пожалуйста, обратите внимание на http://www.apache.org/docs/vhosts/ для
получения дополнительной информации.
# Вы можете использовать в коммандной строке опцию -S для проверки
конфигурации ваших виртуальных серверов.
# Используем хостинг виртуальных серверов, основанный на именах.
# Почти любая команда Apache может использоваться внутри <VirtualHost>
<VirtualHost 127.0.0.2>
# Имя сервера, с которым в файле HOSTS связан IP-адрес 127.0.0.2
ServerName www.asia-pacific.ru
ServerAdmin eika@mail.ru
# Cледите, в какую строну направлены косые черты!
DocumentRoot "c:/Program Files/Apache Group/Apache/htdocs"
<Directory "c:/Program Files/Apache Group/Apache/htdocs">
Options Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "c:/Program Files/Apache Group/Apache/cgi-bin/"
ErrorLog "logs/error.log"
# А в этот файл сервер пишет, какие файлы он выдаёт браузеру. У него есть
сволочная привычка быстро разрастаться
# до чудовищных размеров, не забывайте его периодически чистить.
CustomLog "logs/custom.log" common
</VirtualHost>
_______________________________________________

.htaccess
#################################

AuthName "Input password"
AuthType Basic
AuthUserFile "C:/Program Files/Apache Group/Apache/htdocs/admin/.htpasswd"
<Files *.*>
require valid-user
</Files>
#################################



With the best regards,
Artem Sokovtcev


=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.