Base di conoscenze

1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!

Risolvere un errore 500 "Internal Server error"

Questa guida si rivolge a 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, in uso 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, ciò può causare errori 500 Internal Server Error o errori di rewrite 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 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 o commentare tutte le righe con # e decommentare riga per riga fino a trovare il passaggio che causa il problema.
  • Se l'errore si verifica dopo una modifica effettuata su una delle vostre pagine, il modo più semplice è ripristinare la versione precedente del file.

Questa FAQ è stata utile?