Apache .htaccess ifModule não permitido aqui

12

Executando o Apache no Ubuntu Precise, com o PHP 5.5

Tentar acessar meu var/www/ me dá 500.

/var/log/apache2/error.log

mostra:

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

minha .htacess é:

DirectoryIndex app.php


<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::$
    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>

No meu apache.conf, adicionei:

<Directory />
AllowOverride ALL
</Directory>

E funcionou depois que reiniciei o apache.

    
por Kiksy 06.08.2013 / 13:51

1 resposta

24

Você precisa configurar seu apache para ativar a configuração do arquivo .htaccess. Então, na seção de diretórios, certifique-se de ter a opção

Allowoverride ALL 

para mais informações, mais informações sobre allowoverride .

Na sua configuração, se você usar apenas o mod_rewrite, talvez você possa definir apenas o FileInfo, eu sempre defino o Opções para SymLinksIfOwnerMatch para poder executar o redirecionamento para outros sites.

Allowoverride FileInfo 
Options SymLinksIfOwnerMatch

Espero que ajude, se você já definiu essa configuração, adicione informações com sua configuração de virtualhost.

    
por 06.08.2013 / 14:20