Apache .htaccess <ifModule тут не дозволено


13

Запуск Apache на Ubuntu Precision, з PHP 5.5

Намагаючись отримати доступ, я var/www/даю мені 500.

/var/log/apache2/error.log

показує:

/var/www/web/.htaccess: <IfModule not allowed here

мій .htacess:

DirectoryIndex app.php


<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

    RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>       
        RedirectMatch 302 ^/$ /app.php/       
    </IfModule>
</IfModule>

До свого apache.conf я додав:

<Directory />
AllowOverride ALL
</Directory>

І це спрацювало після того, як я перезапустив апаш.

Відповіді:


25

Потрібно налаштувати апаш, щоб увімкнути конфігурацію з файлу .htaccess. Тож у розділі каталогу будьте впевнені, що у вас є можливість

Allowoverride ALL 

для отримання додаткової інформації додаткові відомості про дозволення .

Якщо ви використовуєте лише mod_rewrite, можливо, ви можете встановити лише FileInfo, я завжди встановлюю параметр " Параметри" на SymLinksIfOwnerMatch, щоб мати можливість перенаправляти на інші сайти.

Allowoverride FileInfo 
Options SymLinksIfOwnerMatch

Я сподіваюся, що це допоможе, якщо ви вже встановили цю конфігурацію, будь ласка, додайте інформацію до своєї конфігурації virtualhost.


Це свіжа установка Apache. У апараті2.conf у мене немає розділу <Каталог />. Я додав своє оновлення вище. Спасибі
Kiksy

Я забув перезапустити Apache. Це працює зараз.
Кіксі

1
На моєму кінці у мене була відсутня Directoryдиректива. Після додавання він працював належним чином. Я вважаю, що це нове у версії 2.4 Apache, тому що він працював з 2.2 ...
Алексіс Вілке

1
Так, параметр Allowedoverride за замовчуванням змінився в Apache 2.3.9.
mlissner
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.