1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Resolución de un error 500 "Internal Server error
Esta guía te concierne si te encuentras con un error 500, que puede tener diversas causas generalmente relacionadas con el desarrollo de tu sitio web en un Hospedaje Web, especialmente con las reescrituras en tus archivos .htaccess.
¿En qué circunstancias ocurren estos errores?
Apache2, en uso en nuestros servidores, ya no admite ciertos módulos como mod_auth_anon, mod_auth_dbm, mod_authz_dbm, mod_cern_meta, mod_imap, mod_imagemap, mod_mime_magic.
Además, Apache2 es estricto con los errores de sintaxis y cuando encuentra errores de sintaxis en un archivo .htaccess, puede resultar en errores 500 Internal Server Error o errores inesperados de reescritura de URL.
Ejemplos de Sintaxis Incorrecta en .htaccess y Corrección
En este primer ejemplo, el error de sintaxis es que la regla de reescritura no especifica el código de respuesta de redirección HTTP a devolver. La corrección agrega la directiva R=301 para especificar que la redirección debe devolver un código 301 (permanente):
RewriteRule ^articles/([0-9]+)/$ /article.php?id=$1 [L]
Corrección:
RewriteRule ^articles/([0-9]+)/$ /article.php?id=$1 [L,R=301]
En este segundo ejemplo, el error de sintaxis es que la directiva Options no especifica correctamente las opciones para habilitar o deshabilitar. La corrección agrega el signo "+" para especificar que FollowSymLinks debe estar habilitado en lugar de deshabilitado:
Options -Indexes FollowSymLinks
Corrección:
Options -Indexes +FollowSymLinks
¿Cómo Resolver Estos Errores?
- Si la primera página u otra página muestra un error 500, cambia el nombre del archivo .htaccess o comenta todas las líneas con # y descomenta línea por línea hasta encontrar la sección problemática.
- Si el error ocurre después de realizar cambios en una de tus páginas, la forma más sencilla es restaurar la versión anterior del archivo.