Назад | Перейти на главную страницу

.htaccess работает для виртуального хоста, но не для public_html

Проблема в том, что у меня есть корневой каталог, указывающий на public_html / *. Скажем, есть виртуальный хост с Docroot / home / user / public_html / www - там работает .htaccess. Тем не менее, когда я перехожу на example.com/~user/www, .htaccess не работает, Apache даже не читает его (я тестировал, создавая в нем искаженный контент).

Моя конфигурация для userdir:

<IfModule mod_userdir.c>
    UserDir public_html
    UserDir disabled root

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

Для vhosts:

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /home/user/public_html/www
</VirtualHost>

.htaccess в / home / user / public_html / www

Когда у меня возникали подобные проблемы, я использовал скобку директивы Location в дополнение к директиве Directory.