1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Risolvere un errore 500 "Internal Server error"
Questa guida è per voi se ottenete un errore 500 che può avere diverse origini legate generalmente allo sviluppo del vostro sito su un Hosting Web, in particolare con i rewrites
dei vostri file .htaccess
.
Premessa
- Apache2, presente sui server, non supporta piĂą alcuni moduli come
mod_auth_anon
,mod_auth_dbm
,mod_authz_dbm
,mod_cern_meta
,mod_imap
,mod_imagemap
,mod_mime_magic
- Apache2 è severo riguardo agli errori di sintassi e quando incontra errori di sintassi in un file
.htaccess
, può causare errori 500 Internal Server Error o errori di reindirizzamento URL inattesi
Esempi di sintassi e correzione
In questo primo esempio, l'errore di sintassi è che la regola di rewrite non specifica il codice di risposta di reindirizzamento HTTP da inviare.
RewriteRule ^articles/([0-9]+)/$ /article.php?id=$1 [L]
La correzione aggiunge la direttiva R=301
per specificare che la redirezione deve restituire un codice 301 (permanente):
RewriteRule ^articles/([0-9]+)/$ /article.php?id=$1 [L,R=301]
In questo secondo esempio, l'errore di sintassi è che la direttiva Options
non specifica correttamente le opzioni da attivare o disattivare.
Options -Indexes FollowSymLinks
La correzione aggiunge il segno "+
" per specificare che FollowSymLinks
deve essere attivato piuttosto che disattivato:
Options -Indexes +FollowSymLinks
Risolvere questi errori
- Se la prima pagina o un'altra pagina mostra un errore 500, rinominare il file
.htaccess
o commentare tutte le righe con#
e decommentare riga per riga fino a trovare la parte che causa il problema. - Se l'errore si verifica dopo una modifica apportata a una delle tue pagine, il modo più semplice è ripristinare la versione precedente del file.