1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Resolver un error 500 "Error interno del servidor"
Esta guía le concierne si obtiene un error 500 que puede tener diversas causas generalmente relacionadas con el desarrollo de su sitio en un Hosting Web, en particular con los rewrites
de sus archivos .htaccess
.
Preámbulo
- Apache2, en lugar en los servidores, ya no soporta ciertos módulos como
mod_auth_anon
,mod_auth_dbm
,mod_authz_dbm
,mod_cern_meta
,mod_imap
,mod_imagemap
,mod_mime_magic
- Apache2 es estricto con los errores de sintaxis y cuando encuentra errores de sintaxis en un archivo
.htaccess
, esto puede causar errores 500 Internal Server Error o errores de reescritura de URL inesperados.
Ejemplos de sintaxis 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.
RewriteRule ^articles/([0-9]+)/$ /article.php?id=$1 [L]
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,R=301]
En este segundo ejemplo, el error de sintaxis es que la directiva Options
no especifica correctamente las opciones a activar o desactivar.
Options -Indexes FollowSymLinks
La corrección agrega el signo "+
" para especificar que FollowSymLinks
debe estar activado en lugar de desactivado:
Options -Indexes +FollowSymLinks
Resolver estos errores
- Si la primera página o cualquier otra página muestra un error 500, renombrar el archivo
.htaccess
o comentar todas las líneas con#
y descomentar línea por línea hasta encontrar el pasaje que causa el problema. - Si el error ocurre después de una modificación realizada en una de sus páginas, lo más sencillo es restaurar la versión anterior del archivo.