Поиск:

Ответ в темуСоздание новой темы Создание опроса
> .htaccess работает от корня диска, что за хрень?! 
:(
    Опции темы
stalker2000
Дата 22.5.2015, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 29.7.2010

Репутация: нет
Всего: нет



Приветствую. Убил полдня, пока докопался до причины. Итак, есть Dev-машина на XP SP3 + все обновы, Apache:
Код

C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe -v
Server version: Apache/2.2.11 (Win32)
Server built:   Dec 10 2008 00:10:06

C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe -V
Server version: Apache/2.2.11 (Win32)
Server built:   Dec 10 2008 00:10:06
Server's Module Magic Number: 20051115:21
Server loaded:  APR 1.3.3, APR-Util 1.3.4
Compiled using: APR 1.3.3, APR-Util 1.3.4
Architecture:   32-bit
Server MPM:     WinNT
  threaded:     yes (fixed thread count)
    forked:     no
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/winnt"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/apache"
 -D SUEXEC_BIN="/apache/bin/suexec"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error.log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

+PHP, ну и ещё стоят MySQL и PostgreSQL, впрочем они тут не участвуют.

Суть проблемы. С какого то момента перестали показываться каталоги без index.html/php. Апач упорно выдавал
Код

403 Forbidden
You don't have permission to access / on this server.

записи в логе говорили о запрете просмотра каталогов без индекс-файлов:
Код

[Fri May 23 10:19:58 2015] [error] [client 127.0.0.1] Directory index forbidden by Options directive: C:/WebServers/home/test2/

Буквально вчера всё работало, последие правки в конфиг вносились 3 месяца назад. Сам конфиг прост как двери и почти не отличается от дефолтного:
Код

ThreadsPerChild 250
MaxRequestsPerChild  0
ServerRoot "C:/Program Files/Apache Software Foundation/Apache2.2"
Listen 80

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule userdir_module modules/mod_userdir.so

ServerAdmin [email protected]

ScriptAlias /php/ "c:/PHP-5.4.38/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"

DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"

<Directory />
AllowOverride All
</Directory>

<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
    Options +Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
</FilesMatch>

ErrorLog logs/error.log
LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog logs/access.log common
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/"
</IfModule>

<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

DefaultType text/plain

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot c:/webservers/home/test2
    ServerName test2
    ServerAlias test2
</VirtualHost>

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

В корне C:/WebServers/home/test2/ естественно не было никаких .htaccess. Я долго ломал голову, правил конфиг и так и эдак. Ничего не помогало. Пока случайно не обнаружил в корне диска C: файл .htaccess такого содержания:
Код

DirectoryIndex index.php index.html
Options -Indexes

Файл я по запаре откуда-то скопировал, да там и забыл. Удалил его, всё наладилось. Вернул назад - опять не пускает. Ещё раз повторю, файл лежал в C:\.htaccess

Вот теперь сижу и соображаю, это баг или фича? Или где-то у меня рукожопие? Почему .htaccess действует оттуда, откуда апач его вообще не должнен брать? 
PM MAIL   Вверх
ИшТы
Дата 12.1.2016, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 8.11.2014

Репутация: нет
Всего: нет



Это не баг и не фича.

Следующая секция в Вашем конфиге заставляет Апач читать .htaccess из корня диска и распространять правила из него на все папки. 
Код

<Directory />
AllowOverride All
</Directory>


Создайте еще один .htaccess в папке сайта (C:/WebServers/home/test2/) со следующим содержанием и он перекроет параметр "-Indexes" из .htaccess  в корне диска:
Код

Options +Indexes


Так для справки "+Indexes" разрешает просмотр содержимого каталогов.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.1074 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.