2010-11-06 12 views
15

Tengo un archivo .htaccess en un directorio, pero no tiene ningún efecto (no importa lo que ponga en él).¿Por qué el .htaccess no tiene ningún efecto?

Mi archivo contiene apache2.conf

AccessFileName .htaccess 

<Directory "/var/www"> 
    AllowOverride All 
</Directory> 

Ya se dijo AccessFileName .htaccess pero agregó el Directorio de etiquetar a mí mismo, por lo que no estoy seguro de si es correcta.

Gracias por cualquier consejo y solicitud de más información.

Mi contenido .htaccess (por ahora)

Options +FollowSymlinks 
RewriteEngine on 

RewriteRule .* page.php?arg=$0 
+0

intente poner cosas falsas en .htaccess y acceder al directorio al que se aplica - si obtiene 500 cuando accede al directorio, al menos sabrá que su .htaccess está siendo analizado. ¿Dónde lo estás colocando? – Anon

+0

Se coloca en el directorio al que estoy accediendo (en este caso/var/www/avesta /). Ya he puesto muchos errores en el archivo .htaccess. Sé que no está siendo analizado :) – Hubro

Respuesta

19

Usted está en Debian, de acuerdo con sus etiquetas. El sitio predeterminado, al menos en Lenny en su configuración predeterminada de apache2, se define en/etc/apache2/sites-available/000-default. Este valor predeterminado tiene AllowOverride None en la sección para el directorio/var/www. Entonces, eso podría estar anulando tu apache2.conf.

Por supuesto, debe asegurarse de que el sitio esté habilitado. Si/etc/apache2/sites-enabled/000-default existe y hay un enlace simbólico que apunta a/etc/apache2/sites-available/000-default, entonces el sitio está habilitado. La forma canónica de habilitar dicho sitio es, como root, a2ensite 000-default.

Finalmente, tenga en cuenta que si tiene acceso a la configuración principal, por razones de rendimiento, debe configurar su sitio usando la configuración principal (o las configuraciones del sitio en/etc/apache2/sites-available) en lugar de .htaccess . Ver http://httpd.apache.org/docs/2.2/howto/htaccess.html para una explicación más detallada.

+0

Gracias, cambié 'AllowOverride' a All in 000-default. Ahora recibo un error interno del servidor incluso sin argumentos de reescritura. ¿Algunas ideas? (.htaccess ahora solo contiene 'Options + FollowSymlinks' y' RewriteEngine on') – Hubro

+0

Existen varias razones por las que podría suceder. ¿Tiene el mismo error si elimina .htaccess por completo? Además, tenga en cuenta que debe volver a cargar Apache para leer la nueva configuración. Normalmente solo reinicio: como root, /etc/init.d/apache2 restart. Pero, también se supone que usar "recargar" en lugar de "reiniciar" funciona. – Andrew

+0

He reiniciado Apache, sí. Funciona con un archivo .htaccess vacío, pero no tan pronto como agregue 'RewriteEnging on' – Hubro

Cuestiones relacionadas