Почему Апач не видит часть папок?

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем Hmury, 4 авг 2009.

Статус темы:
Закрыта.
  1. Hmury

    Hmury

    Регистр.:
    6 мар 2008
    Сообщения:
    256
    Симпатии:
    55
    Сегодня столкнулся с интересной ситуацией - почему-то мой установленный на обычном Windows-компьютере апач-сервер (v2.2.11) не видит часть папок в директории, которая выделена ему под localhost. Совершенно не пойму, с чем это связано... Вроде особых настроек в конфигурации не делал, работаю не первый день с ним - никогда подобного не замечал.
    Имена папок, которые не видит, такие, например:
    zebrum_lite_114_utf8
    HostCMS
    Переименование, открытие в другом браузере (основной - Опера) ничего не меняет. Перезапуск Apache - также.
    Прикладываю апачевский конфиг - может кто посмотрит.
    (Очень прошу не давать советы типа "Поставь Денвер и не парься", нужно разобраться именно в существующей проблеме)
    *****************************
    К модераторам: Если создал тему не там - перенесите, пожалуйста. Вроде название раздела не очень подходит, но в подписи к разделу написано "Работаем с серверами." Так что...
     

    Вложения:

    • httpd.7z
      Размер файла:
      5,8 КБ
      Просмотров:
      3
  2. Hmury

    Hmury

    Регистр.:
    6 мар 2008
    Сообщения:
    256
    Симпатии:
    55
    Сбросил, помогло, ибо поэтапное восстановление настроек частично выявило причину.
    Причина в .htaccess самих папок, которые не видны. Только не пойму, почему он так странно влияет. Он же внутри папки, а действует получается на вышележащую...
    Вот содержимое .htaccess:
    Код:
    RewriteEngine on
    
    RewriteCond %{SCRIPT_FILENAME} !\.(jpg|gif|png|css|js|php|zip|rar|html)$ [OR,NC]
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteCond %{SCRIPT_FILENAME} !/robots.txt$
    RewriteCond %{SCRIPT_FILENAME} !/favicon.ico$
    RewriteRule .* index.php
    
    Вроде даже вообще никаких запретов нет...
    Т.е. этот файл находится в папке XXX, и эта папка не видна из родительской вообще (не ее содержимое, а сама папка - ее там просто нет). Во всех вышестоящих родительских .htaccess'ов вообще нет. Стоит убрать .htaccess из проблемной папки, ее сразу видно.
    Ну и соответственно, ситуация меняется (все видно) при выключении AllowOverride None в конфиге (поэтому раньше и не замечал, только недавно это включил).
    В чем может быть проблема, не пойму...
     
  3. ZuArt

    ZuArt Создатель

    Регистр.:
    11 фев 2008
    Сообщения:
    16
    Симпатии:
    4
    Очень похоже, что причина такого "странного" поведения в отсутствии директивы RewriteBase в htacess-е
     
  4. andrnag

    andrnag

    Регистр.:
    26 мар 2008
    Сообщения:
    350
    Симпатии:
    125
    А на мой взгляд, присутствие директивы AllowOverride None виновато. (Хотя раньше я не замечал такого поведения). Т.к. эта директива как раз влияет на файлы .htaccess. Хотя странно, что из-за нее, эти папки вообще не показываются. В любом случае, чтобы то, что лежит в папках работало, AllowOveride нужно задать правильный. (Т.е. разрешить обработку нужных опций в .htaccess)
     
  5. juggernaut13

    juggernaut13 Постоялец

    Регистр.:
    23 авг 2009
    Сообщения:
    59
    Симпатии:
    16
    Код:
    RewriteCond %{REQUEST_FILENAME} !-d
    добавляеш чтобы на существующие папки правило не срабатывало
     
  6. Hmury

    Hmury

    Регистр.:
    6 мар 2008
    Сообщения:
    256
    Симпатии:
    55
    Не помогает. Все равно не видно. К тому же есть другой файлик, где эта строка уже была изначально. Его папку тоже не видно...
     
Статус темы:
Закрыта.