Apache .htaccess <ifModule no está permitido aquí


13

Ejecutando Apache en Ubuntu Precise, con PHP 5.5

Intentar acceder a mi var/www/me da un 500.

/var/log/apache2/error.log

muestra:

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

mi .htacess es:

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>

En mi apache.conf agregué:

<Directory />
AllowOverride ALL
</Directory>

Y funcionó después de reiniciar Apache.

Respuestas:


25

Debe configurar su apache para habilitar la configuración desde el archivo .htaccess. Entonces, en la sección del directorio, asegúrese de tener la opción

Allowoverride ALL 

para obtener más información, más información sobre allowoverride .

En su configuración, si usa solo mod_rewrite, tal vez pueda configurar solo FileInfo, siempre configuro el parámetro Opciones en SymLinksIfOwnerMatch para poder realizar la redirección a otros sitios.

Allowoverride FileInfo 
Options SymLinksIfOwnerMatch

Espero que ayude, si ya configuró esta configuración, agregue información con su configuración de host virtual.


Esta es una nueva instalación de Apache. No tengo la sección <Directorio /> en apache2.conf. He agregado mi actualización arriba. Gracias
Kiksy

Olvidé reiniciar Apache. Eso está funcionando ahora.
Kiksy

1
Por mi parte, me faltaba una Directorydirectiva. Una vez agregado, funcionó correctamente. Supongo que esto es nuevo en la versión 2.4 de Apache porque solía funcionar con 2.2 ...
Alexis Wilke

1
Sí, el valor predeterminado para Allowedoverride cambió en Apache 2.3.9.
mlissner
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.