2008-09-27 10 views

Respuesta

74

Un reinicio es no se requiere para cambios en .htaccess. Algo más está mal.

Asegúrese de que su .htaccess incluye la declaración

RewriteEngine en

que se requiere incluso si es también presente en httpd.conf. También verifique que .htaccess sea legible mediante el proceso httpd.
Compruebe el error_log - le informará de cualquier error en .htaccess si está siendo utilizado. Poner un error de sintaxis intencional en .htaccess es una buena comprobación para asegurarse de que el archivo se está utilizando; debe obtener un error 500 en cualquier página del mismo directorio.

Por último, se puede habilitar un registro de reescritura utilizando comandos como el siguiente en su httpd.conf:

RewriteLog "logs/RewriteLog"

RewriteLogLevel 7

El archivo de registro así generada le dará el detalle sangriento de las reglas de reescritura que coinciden y cómo se manejaron.

49

No:

Apache permite la gestión descentralizada de configuración a través de ficheros especiales colocados en el interior del árbol web. Los archivos especiales son generalmente llamados .htaccess, pero cualquier nombre se pueden especificar en la directiva AccessFileName ... Puesto que los archivos .htaccess se leen en cada petición, los cambios realizados en estos archivos tienen efecto inmediato ...

+0

Si ha agregado el nombre de usuario a 'Requerir usuario' en su archivo habilitado para sitios he encontrado empíricamente que necesita reiniciar. Un agraciado lo hace. – Ross

0

¿Qué hay en tu .htaccess? RewriteRules? Verifique que mod_rewrite esté instalado y habilitado.

¿Otras cosas? Intente configurar AllowOverride en 'todo' en ese directorio.

3

solo si NO ha agregado el módulo de reescritura mod a apache.

que sólo tendrá que reiniciar apache si cambia los archivos .conf "Apache"

17

De la documentación de Apache: Por lo general, el problema es que AllowOverride no se establece de tal manera que sus directivas de configuración están siendo honrados. Asegúrese de que no tiene un AllowOverride None vigente para el alcance del archivo en cuestión. Una buena prueba para esto es colocar basura en su archivo .htaccess y volver a cargar. Si no se genera un error del servidor, es casi seguro que AllowOverride None esté en vigencia.

+1

Quitando enlace a Apache - AllowOverride: http://httpd.apache.org/docs/2.2/mod/core.html#AllowOverride – scunliffe

+2

Agrego esta línea "" a mi .htaccess para generar un error en el registro. Dirá " Mnebuerquo

1

Tengo el mismo problema y parece que la publicación de PiedPiper sobre AllowOverride fue de gran ayuda. Revise su archivo httpd.conf para "AllowOverride" y asegúrese de que esté configurado en All.

+0

Publicación relevante: [Cómo configurar AllowOverride all] (http://stackoverflow.com/q/18740419/2065702) –

1

En caso de .htaccess, no es necesario reiniciar si no funciona, entre otras razones probables.

  • AllowOverride no se podrá formular las cuales el usuario puede configurar el interior httpd.conf o podría tener que ponerse en contacto con administrador del servidor.

  • Compruebe el nombre de archivo de .htaccess debe ser .htaccess no htaccess.txt vea here para la guía cómo crear uno.

  • Intente utilizar Options -Indexes o deny all tipo de directiva simple para ver si funciona o no.

  • borrar la caché del navegador cada vez que tenga una regla para redirecciones o similar si la redirección anterior está almacenada en la caché, parece como si las cosas no funcionaran.

Cuestiones relacionadas