1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Risolvere un errore 500 "Internal Server error"
Questa guida ti riguarda se ottieni una Errore 500 che possono avere varie origini legate in generale allo sviluppo del tuo sito su un Web hostingIn particolare con le rewrites
dei tuoi file .htaccess
.
Preambolo
- Apache2, in posizione 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 è rigoroso sugli errori di sintassi e quando incontra errori di sintassi in un file
.htaccess
, questo può causare errori 500 Internal Server Error o errori di riscrittura URL imprevisti
Esempi di sintassi e correzione
In questo primo esempio, l'errore di sintassi è che la regola di riscrittura non specifica il codice di risposta di reindirizzamento HTTP da restituire.
RewriteRule ^articles/([0-9]+)/$ /article.php?id=$1 [L]
La correzione aggiunge la direttiva R=301
per specificare che il reindirizzamento 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
Commentare tutte le righe con#
e decodificare linea per linea fino a trovare il passaggio che pone problemi. - Se l'errore si verifica dopo una modifica effettuata su una delle tue pagine, la cosa più semplice è ripristinare la versione precedente del file.