Pregunta

He insertado mis archivos .htaccess en los servidores de producción, pero no funcionan. ¿Sería un reinicio el siguiente paso, o debería revisar algo más?

¿Fue útil?

Solución

No es necesario reiniciar para realizar cambios en .htaccess. Algo más está mal.

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

  

RewriteEngine on

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

Por último, puede habilitar un registro de reescritura utilizando comandos como los siguientes en su httpd.conf:

  

RewriteLog " logs / rewritelog "

     

RewriteLogLevel 7

El archivo de registro así generado le proporcionará el detalle sangriento de qué reglas de reescritura coincidieron y cómo se manejaron.

Otros consejos

No :

  

Apache permite la administración descentralizada de la configuración a través de archivos especiales ubicados dentro del árbol web. Los archivos especiales generalmente se llaman .htaccess , pero cualquier nombre puede especificarse en AccessFileName ... Dado que los archivos .htaccess se leen en cada solicitud, los cambios realizados en estos archivos surten efecto inmediato ...

De la documentación de apache: En general, el problema es que AllowOverride no se configura de manera tal que se respeten las directivas de configuración. Asegúrese de que no tiene un permiso de anulación permitida para el alcance del archivo en cuestión. Una buena prueba para esto es poner basura en su archivo .htaccess y recargar. Si no se genera un error en el servidor, es casi seguro que no tiene ningún permiso en vigor.

Solo si has no agregado el módulo mod_rewrite a Apache.

Solo necesita reiniciar Apache si cambia cualquier Apache " .conf " archivos.

Tengo el mismo problema y parece que la publicación de PiedPiper sobre AllowOverride fue de lo más útil. Verifique su archivo httpd.conf para " AllowOverride " y asegúrese de que esté configurado en Todos.

En caso de .htaccess, no es necesario reiniciar si no funciona, entre las razones se incluyen.

  • AllowOverride No se puede establecer qué usuario puede configurar dentro de httpd.conf o podría tener que ponerse en contacto con el administrador del servidor.

  • Verifique que el nombre del archivo .htaccess sea .htaccess, no htaccess.txt, vea here para obtener una guía sobre cómo crear una.

  • Intente usar el tipo de directiva simple Options -Indexes o deny all para ver si está funcionando o no.

  • borre la memoria caché del navegador cada vez que tenga una regla para redireccionamientos o algo similar si la redirección anterior está en caché, parece que las cosas no funcionan.

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

¿Otras cosas? Intente establecer AllowOverride en 'todos' en ese directorio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top