LINUX.ORG.RU

Apache2 игнорирует .htaccess в userdir'е


0

1

Собственно, сабж. Никак не могу найти, где я дурак. Система - Debian 6.0. Полностью игнорируется файл /home/users/<user>/public_html/.htaccess. Каталог Апачем виден, все прочие файлы читаются и выдаются. Даже если я ставлю файлу .htaccess права 700, сервер не ругается ошибкой 500, а продолжает работать как ни в чём не бывало.

# cat /etc/apache2/mods-enabled/userdir.conf 
<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory "/home/*/public_html">
                #AllowOverride FileInfo AuthConfig Limit Indexes
		AllowOverride All
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec 
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>

</IfModule>

# cat /home/users/<user>/public_html/.htaccess 
Order deny,allow
Deny from all

А апач разве умеет «Directory «/home/*/public_html»»? Поставь просто на /home/, оно отнаследуется подкаталогами. Либо через Location,

ynn ()
Ответ на: комментарий от Vshmuk

Да, действительно.

Апач игнорирует ошибки доступа при чтении .htaccess. Если апач не имеет прав прочесть файл, то он делает вид что файла нет.

Чтобы проверить что файл действительно игнорируется, проставь ему нормальные права, но воткни какую-нибудь бредовую строчку. Тогда, если апач файл читает, будет 500я ошибка.

Также проверь имя создаваемого файла .htaccess, м.б. ты опечатался или там какая-нибудь буква русская и т.п.

И убедись что ты не переткнул .htaccess через AccessFileName.

ynn ()
Ответ на: комментарий от ynn

Чтобы проверить что файл действительно игнорируется, проставь ему нормальные права, но воткни какую-нибудь бредовую строчку. Тогда, если апач файл читает, будет 500я ошибка.

Написал в .htaccess слово 'abracadabra'. Никаких изменений.

Также проверь имя создаваемого файла .htaccess, м.б. ты опечатался или там какая-нибудь буква русская и т.п.

Переписал ручками. Всё правильно.

И убедись что ты не переткнул .htaccess через AccessFileName.

 $ grep -R "AccessFileName" . 
./apache2.conf:# AccessFileName: The name of the file to look for in each directory 
./apache2.conf:AccessFileName .htaccess 
Vshmuk ()
Ответ на: комментарий от Vshmuk

Не может ли быть косяк, что сайт лежит по /home/users/<user>/public_html, а не в /home/<user>/public_html, как указано в конфиге? Хотя с новой настройкой сайт вообще отказался работать.

Vshmuk ()
Ответ на: комментарий от ynn

Спасибо, помогло! Я сначала уже это правил, но из-за вчерашнего тупняка у меня и так тоже не работало, поэтому вернул взад. Теперь всё ок.

Ура-ура!

Vshmuk ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.