Re: Funciona en .htaccess pero no en sites-available
El Tue, 30 Oct 2012 21:52:39 +0100, Jorge escribió:
> Buenas tardes.
> Tengo apache2 sobre squeeze.
> En /var/www/www.etxea.org/htdocs/.htaccess tengo ...
(...)
> <IfModule mod_rewrite.c>
> RewriteEngine on
(...)
> </IfModule>
>
> ... y funciona perfectamente.
> Lo que quiero es no utilizar .htaccess, es decir, pasar esto a
> /etc/apache2/sites-available/www.etxea.org, para que (después de hacer
> a2ensite www.etxea.org y /etc/init.d/apache2 restart) funcione todo de
> la misma forma que en .htaccess
> El contenido de www.etxea.org es el siguiente ...
(...)
> <Directory “/var/www/www.etxea.org/htdocs/”>
> # Permite que todas las directivas .htaccess de ese directorio tengan prioridad sobre las establecidas en el archivo de configuración
> AllowOverride All
> IndexIgnore *
> <IfModule mod_rewrite.c>
> RewriteEngine on
(...)
> </IfModule>
> </Directory>
(...)
> Sin embargo no funciona. ¿Cual es el problema? ¿El apartado IfModule se
> coloca ahí o en otro sitio?
Según la documentación, puede ir dentro dentro de <Directory>:
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteengine
RewriteEngine Directive
(...)
Context: server config, virtual host, directory, .htaccess
Pero en los ejemplos del manual de Apache lo ponen directamente dentro de
un <Directory> sin "<IfModule mod_rewrite.c>" pero eso parece más bien
una decisión estética que no técnica porque de lo contrario al reiniciar
apache2 te daría un error de sintaxis bien gordote :-)
Si no te funciona y tampoco Apache se queja al iniciar (revisa los registros)
podría ser por alguna cosa "tontuna" (solapamiento de directivas) que se te haya
pasado por alto.
Nota: yo quitaría la barra final ("/") de las URL tanto de la directiva
<DocumentRoot> como de <Directory>.
Saludos,
--
Camaleón
Reply to: