Ingrese algún valor basura en su , .htaccess
por ejemplo foo bar
, sakjnaskljdnas
cualquier palabra clave no reconocida por htaccess y visite su URL. Si está funcionando, debería obtener un
Error interno de servidor 500
error de servidor interno
El servidor encontró un error interno o una mala configuración y no pudo completar su solicitud ...
Te sugiero que lo pongas poco después RewriteEngine on
.
Ya que estás en tu máquina. Supongo que tiene acceso al .conf
archivo apache .
abra el .conf
archivo y busque una línea similar a:
LoadModule rewrite_module modules/mod_rewrite.so
Si está comentado (#), elimine el comentario y reinicie Apache.
Para iniciar sesión reescribir
RewriteEngine On
RewriteLog "/path/to/rewrite.log"
RewriteLogLevel 9
Pon las 3 líneas anteriores en tu virtualhost
. reinicie httpd.
RewriteLogLevel 9
¡Usar un valor alto para Level ralentizará dramáticamente su servidor Apache! Utilice el archivo de registro de reescritura en un nivel superior a 2 solo para depurar. El nivel 9 registrará casi todos los detalles de reescritura.
ACTUALIZAR
Las cosas han cambiado en Apache 2.4:
DESDE Actualización a 2.4 desde 2.2
Se han eliminado las directivas RewriteLog y RewriteLogLevel . Esta funcionalidad ahora se proporciona configurando el nivel apropiado de registro para el módulo mod_rewrite usando la directiva LogLevel . Consulte también la sección de registro mod_rewrite.
Para obtener más información sobre LogLevel, consulte la Directiva LogLevel
tu puedes lograr
RewriteLog "/path/to/rewrite.log"
de esta manera ahora
LogLevel debug rewrite_module:debug
La respuesta 'Ingrese algún valor basura' no funcionó para mí, mi sitio continuaba cargándose a pesar de la basura ingresada.
En su lugar, agregué la siguiente línea en la parte superior del archivo .htaccess:
Esto le permitirá saber rápidamente si se está recogiendo .htaccess o no. Si se está utilizando el .htaccess, los archivos de esa carpeta no se cargarán en absoluto.
fuente
Generalmente, cualquier cambio en el .htaccess debería tener efectos visibles. Si no tiene ningún efecto, verifique los archivos de configuración de Apache, algo como:
Debería cambiarse a
Y podrá cambiar las directivas en archivos .htaccess.
fuente
Quizás un método más lógico sería crear un archivo (por ejemplo, test.html), agregar algo de contenido y luego intentar configurarlo como la página de índice:
En su mayor parte, la regla .htaccess anulará la configuración de Apache donde se trabaja a nivel de directorio / archivo
fuente
Para responder a la primera pregunta de las tres formuladas, una forma sencilla de ver si el archivo .htaccess funciona o no es desencadenar un error personalizado en la parte superior del archivo .htaccess:
En cuanto a su segunda pregunta, si el archivo .htaccess no se está leyendo, es posible que la configuración principal de Apache del servidor haya
AllowOverride
establecido enNone
. La documentación de Apache tiene sugerencias de solución de problemas para ese y otros casos que pueden estar impidiendo que .htaccess surta efecto.Finalmente, para responder a su tercera pregunta, si necesita depurar variables las que hace referencia en su regla de reescritura o está utilizando una expresión que desea evaluar independientemente de la regla, puede hacer lo siguiente:
Salida del variable a la que hace referencia para asegurarse de que tenga el valor que espera:
Prueba la expresión independiente poniéndola en una
<If>
directiva. Esto le permite asegurarse de que su expresión esté escrita correctamente o coincida cuando lo espera:¡Feliz depuración de .htaccess!
fuente
Si tiene acceso al directorio bin de apache, puede usar,
httpd -M
para comprobar primero los módulos cargados.Después de eso, directivas simples como
Options -Indexes
odeny from all
solidificarán que .htaccess están funcionando correctamente.fuente
Para probar sus reglas de reescritura de htaccess, simplemente complete la URL a la que está aplicando las reglas, coloque el contenido de su htaccess en el área de entrada más grande y presione el botón "Probar".
http://htaccess.mwl.be/
fuente
¿Por qué no poner un poco de basura en su archivo .htaccess e intentar volver a cargar apache? Si apache no se inicia, sabrá que está funcionando. Elimine la basura y luego vuelva a cargar Apache si carga, felicidades por haber configurado .htaccess correctamente.
fuente