[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: