Cos'è l'errore "500 Internal server error" e come risolverlo?
Questo tutorial riguarda i seguenti argomenti:
L’errore “HTTP 500 Internal Server Error” è abbastanza generale in quanto può essere causato da una vasta gamma di problemi. Per questo motivo, potresti imbatterti in esso abbastanza spesso.
Questo articolo spiegherà l’errore “HTTP Error 500” e come risolverlo.
Cosa significa l’errore “HTTP 500 Internal Server Error”?
Il codice di stato HTTP “500 – Internal Server Error” è uno dei tanti codici di errore HTTP 5.XX (500, 502, 503, 504, ecc.). Ognuno di loro specifica un problema diverso, ma il comune denominatore che condividono è che ti dicono che qualcosa non va nel server del sito web.
L’errore HTTP 500, in particolare, indica che il server ha riscontrato una condizione imprevista che gli ha impedito di soddisfare la richiesta.
In altre parole, il server di hosting non può determinare il problema esatto e visualizzare un messaggio più specifico. Invece, risponde con l’errore “500 Internal Server Error” che significa che non è chiaro cosa c’è che non va.
Potresti vedere diverse varianti dei messaggi poiché molti siti web e server web personalizzano la pagina di errore.
Alcuni esempi del messaggio di errore includono:
- 500 Internal Server Error
- Internal Server Error 500
- HTTP Error 500
- HTTP Status 500 – Internal Server Error
- Error 500 Internal Server Error
- 500 Error
- 500. That’s an error
A parte il testo, l’aspetto della pagina può variare per i diversi siti web. Di seguito puoi vedere una versione generica della pagina “Internal Server Error”.
Altre volte, la pagina potrebbe avere un design personalizzato, come mostrato nell’immagine seguente.
Questi sono solo alcuni esempi della pagina di errore e puoi vederla in innumerevoli varianti. Indipendentemente da come appare la pagina, ha sempre lo stesso significato: c’è un problema che il server non può individuare e ti impedisce di caricare il sito web.
Quali sono i problemi comuni che possono causare l’errore HTTP 500 Internal Server Error?
Sebbene la definizione dell’errore affermi che il problema proviene dal server, non è sempre così. Alcuni dei problemi più comuni che possono causare l’errore sono:
- Cache del browser danneggiata
- Problemi di connessione temporanei
- Errori di sintassi o regole errate nel file .htaccess del sito web
- Permessi di file e cartelle errati
- Versione PHP errata per il sito web
- File .htaccess danneggiato
- Database del sito web danneggiato
- Problemi con temi e plugin di WordPress
- Limite di memoria PHP esaurito sul sito web
- File core di WordPress corrotti
- File di grandi dimensioni sul tuo sito web
- Problemi con il server MySQL
Come correggere l’errore “500 Internal Server Error”?
Come puoi vedere dall’elenco sopra, le origini dell’errore sono piuttosto diverse. Poiché la pagina di errore non indicherà chiaramente il problema, potrebbe essere necessario risolvere alcune delle possibili cause finché non si trova il colpevole.
Esamineremo la maggior parte degli eventuali problemi e le loro soluzioni.
Come correggere l’errore “HTTP Error 500” come visitatore?
Come visitatore, l’unica cosa che puoi fare è controllare se un problema di connettività da parte tua causa l’errore. Puoi anche applicare le seguenti azioni come proprietario di un sito web poiché questi sono i controlli più rapidi. Se l’errore è causato da un problema locale, i passaggi seguenti possono farti risparmiare molto tempo dalla risoluzione dei problemi.
Ricarica la pagina
L’errore “HTTP Error 500” potrebbe essere visibile solo per te, nel caso in cui ci fosse un breve problema di connettività. Il sito web stesso potrebbe funzionare correttamente, ma potresti aver tentato di accedervi quando c’è stato un tempo di inattività momentaneo o la tua rete non è riuscita a stabilire una connessione al server del sito web.
Prova a ricaricare la pagina nello stesso browser con il pulsante Ricarica o premendo la scorciatoia da tastiera Command+R per Mac o F5 (Control+F5) per Windows.
Se il sito web viene caricato correttamente, il problema era solo temporaneo e puoi interrompere la risoluzione dei problemi.
Svuota la cache del browser e i cookie
Quando il sito web non si apre dopo il ricaricamento, il browser potrebbe contenere file di cache e cookie scaduti o corrotti. Ricaricare la pagina non li cancellerà, quindi è necessario cancellarli manualmente.
Leggi questa guida sulla cancellazione della cache e dei cookie nei browser desktop per istruzioni dettagliate.
Controlla questi articoli sull’eliminazione della cache su un telefono Android o iPhone, se utilizzi un dispositivo mobile.
In alternativa, puoi provare ad aprire la pagina da un altro browser. Ad esempio, se utilizzi Chrome, prova Firefox o viceversa.
Dopo aver svuotato la cache del browser, ricarica la pagina per vedere se questo ha risolto il problema. In caso contrario, procedi con il passaggio successivo.
Visita il sito web utilizzando un’altra rete
I problemi di connettività che causano “HTTP 500 Error” possono verificarsi sull’intera rete. In questo caso, probabilmente vedrai l’errore su qualsiasi dispositivo su questa rete.
Per verificare se questo è il problema, passa a un’altra rete. Ad esempio, se utilizzi un telefono cellulare connesso al Wi-Fi, passa ai dati mobili.
Come correggere l’errore HTTP 500 Internal Server Error dal sito web?
Nel migliore dei casi, i passaggi sopra menzionati risolveranno il problema. Tuttavia, se l’errore persiste, potrebbe essere necessario approfondire il problema poiché l’errore deriva dal sito Web stesso.
Come proprietario di un sito o webmaster, ci sono diversi controlli che puoi fare per risolvere il “500 Internal Server Error”.
Controlla i log degli errori del sito web
In molti casi, file o script mal configurati sono le fonti degli errori del sito web. I log degli errori possono aiutarti a identificarli più facilmente.
In genere, dovresti avere tali registri nel pannello di controllo del tuo hosting. Gli utenti di SiteGround possono trovare il Registro errori nel Site Tools del sito web.
Per accedervi, accedi alla sezione Siti web nella tua Area Clienti. Apri il Site Tools del rispettivo sito, seleziona Statistiche e clicca su Registro errori.
Vedrai gli errori più recenti sul tuo sito web che il server ha rilevato. Ogni errore verrà registrato con alcune informazioni chiave:
- La data e l’ora dell’errore.
- Descrizione dell’errore.
- Informazioni su quale cartella o file sta probabilmente generando l’errore.
Di seguito, puoi vedere un registro degli errori che indica un problema con il file .htaccess.
Questo record indica che il problema proviene dal file .htaccess che si trova nella cartella principale del sito web. Specifica inoltre che l’errore è correlato a un argomento mancante di <IfModule>, il che significa che c’è un errore di sintassi.
Utilizzando queste informazioni, è possibile accedere alla cartella specificata da Gestione file, modificare il file .htaccess e correggere l’errore di sintassi.
Tieni presente che il Registro errori registra gli errori relativi alla configurazione del server. Gli errori causati da errori di configurazione e script PHP non vengono registrati, poiché si verificano a livello di applicazione.
Gli errori PHP sono registrati in php_errorlog. Viene generato automaticamente nella cartella del file PHP in questione. Sull’hosting di SiteGround, il log degli errori PHP è attivo per impostazione predefinita. Se lo hai disattivato in precedenza o il tuo hosting non l’ha abilitato, leggi questa guida su come abilitare la segnalazione degli errori in uno script PHP.
Per ispezionare il registro degli errori PHP, è possibile utilizzare File Manager o client FTP. Passare alla cartella principale, se l’errore è causato da uno script situato nella cartella principale. Apri il file php_errorlog, dove puoi esaminare gli errori.
Il php_errorlog mostra errori PHP generali. Tuttavia, potrebbe essere necessario un registro più dettagliato del problema. Se hai un sito web WordPress, puoi anche abilitare il registro di debug per WordPress che può mostrare più informazioni. Per i passaggi dettagliati su come abilitare il registro di debug di WordPress, consulta questa guida.
Ripristina i permessi di file e cartelle
Un altro problema comune che può causare l’errore “HTTP 500″ sono i permessi di file e cartelle errati sul tuo sito web. Se i permessi impediscono ai visitatori di aprire i file e le cartelle critici del sito web, potrebbero vedere la pagina di errore.
I permessi standard sono 644 per i file e 755 per le cartelle. Puoi cambiarli dal Gestione File nel tuo pannello di hosting o da un client FTP.
Per impostare i permessi per i siti WordPress, i client SiteGround possono utilizzare lo strumento Rispristina i permessi per WordPress in Site Tools.
Se il tuo sito web utilizza un altro tipo di applicazione, leggi questa guida su come modificare i permessi per file e cartelle da Gestione File.
In alternativa, se il pannello del tuo hosting non ha strumenti simili, puoi modificare i permessi da SSH o da un client FTP.
Cambia la versione di PHP
Una versione PHP errata sul tuo sito web può causare il timeout degli script PHP o produrre errori irreversibili. Di conseguenza, il sito Web potrebbe restituire l’errore “HTTP 500″.
Prova a cambiare la versione di PHP con una versione precedente o successiva. Se l’errore scompare, è un’indicazione che la versione precedente era sbagliata. Mantieni il sito su quello appena selezionato.
Gli utenti di SiteGround possono facilmente cambiare la versione di PHP con pochi clic su Site Tools. Per i passaggi dettagliati, controlla questa guida su come passare a una versione PHP diversa in Site Tools.
Ispeziona o rigenera il file .htaccess
Una causa comune dell’errore “Internal Server Error” è un problema all’interno del file .htaccess. Se il file è danneggiato, definisce una cartella principale errata o contiene errori di sintassi, il risultato normale è la pagina “Errore HTTP 500”.
Correggi l’errore di sintassi in .htaccess
Come esempio di errore di sintassi, possiamo utilizzare l’errore menzionato in precedenza dal registro degli errori.
2022-05-17 14:32:40 UTC [apache][core:alert] [pid 68451] [client 35.214.177.225:57966] /home/user/www/sg-testing.com/public_html/.htaccess: <IfModule> directive requires additional arguments
Per ispezionare il file, apri il Site Tool del sito web. Quindi, seleziona la sezione Sito e apri Gestione File.
Passa alla cartella principale del sito web, che è il nome del sito/public_html. Nel nostro esempio, il nome è sg-testing.com, quindi il percorso della cartella è sg-testing.com/public_html.
In questa cartella, puoi trovare il file .htaccess. Seleziona il file e premi Modifica per aprire l’editor del codice.
Ora puoi ispezionare il suo codice. Come indica il registro degli errori, il problema proviene da <IfModule>. Il problema è un errore di sintassi perché il modulo manca di una barra nel tag di chiusura </IfModule>.
Aggiungi la barra e salva le modifiche con il pulsante Salva. Ricarica il sito web e ora dovrebbe caricarsi correttamente.
Cartella radice del sito web sbagliata definita in .htaccess
Un altro errore comune in .htaccess è la cartella principale definita in modo errato per il sito web. Di solito, questo è il risultato di uno dei seguenti casi:
- Hai trasferito il sito web da un altro provider di hosting in cui risiedeva in una sottocartella.
- Hai sviluppato il sito web in una sottocartella e poi lo hai spostato nella cartella del dominio principale nello stesso hosting.
- Per un sito Web WordPress, hai installato un plug-in che ha modificato RewriteBase in .htaccess. Il plug-in potrebbe richiedere una configurazione aggiuntiva per funzionare con il codice modificato ma attualmente il sito Web è inaccessibile a causa dell’errore “500 Internal Error”.
Per illustrare meglio il problema, possiamo usare il seguente esempio.
Notare il percorso /dev in RewriteBase. Questo codice indica al server di caricare il sito Web da una cartella denominata public_html/dev. Poiché la cartella è inesistente, quando carichi una pagina dal sito Web, produrrà la schermata di errore “Internal Server Error”.
Per risolvere il problema, rimuovi semplicemente il percorso della sottocartella da RewriteBase in modo che il codice assomigli a questo:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !/(wp-content\/uploads/.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Questo è il codice WordPress predefinito che definisce la cartella principale per il sito web. Conferma la modifica in Gestione file con il pulsante Salva e ricarica il sito web. L’errore non dovrebbe più apparire.
Rigenerare il file .htaccess
Un altro scenario standard di risoluzione dei problemi è quello di sostituire il file .htaccess con una nuova copia. Per sostituire il file con una nuova copia, apri Gestione File, naviga su public_html, seleziona il file .htaccess e scegli Rinomina.
Puoi scegliere qualsiasi nome per il file. Ad esempio, puoi chiamarlo htaccess-old e creare un nuovo file .htaccess.
Se il sito web è WordPress, accedi alla dashboard di WordPress, vai alla sezione Impostazioni e apri Permalink. Basta fare clic sul pulsante Salva le modifiche e il tuo sito web genererà un nuovo file .htaccess con il codice WordPress predefinito.
Se il tuo sito web non è WordPress, trova il codice .htaccess predefinito per la tua applicazione specifica. Usa il pulsante Nuovo file in Gestione file e chiama il nuovo file .htaccess. Incolla il codice predefinito in .htaccess e salva le modifiche.
Dopo aver impostato il nuovo file .htaccess, ricaricare il sito Web per vedere se l’errore è scomparso.
Riparare il database o correggere le credenziali del database
Un altro problema comune che può causare il “500 Internal Server Error” è un database danneggiato del tuo sito web. Puoi prendere in considerazione il ripristino del database da un backup o ripararlo.
Per WordPress, l’errore può verificarsi se il sito Web non riesce a connettersi al database. Assicurati che le credenziali siano impostate correttamente nel file wp-config.php.
Per i passaggi dettagliati, leggi questa guida su come correggere l’errore ‘Establishing a Database Connection’ in WordPress.
Disabilitare i plugin per il tuo sito web WordPress
Un plugin mal configurato può anche attivare l’errore “HTTP 500″ in WordPress. La procedura standard consiste nel disabilitare i plugin uno per uno finché non si trova il colpevole.
Se l’errore è solo sul front-end, ma hai ancora accesso al pannello di amministrazione di WordPress, puoi disabilitare i plugin dalla sezione Plugin. Quindi scegli Plugin installati. Dal menu a tendina Azioni di gruppo, seleziona Disattiva. Spunta la casella Plugin e premi Applica per disattivare tutti i plugin.
In molti casi, l’errore ti impedisce di accedere alla dashboard di WordPress, quindi potrebbe essere necessario utilizzare un modo alternativo.
Un suggerimento popolare che troverai online è quello di rinominare la cartella wp-content/plugins. Non raccomandiamo questo metodo in quanto potrebbe correggere l’errore “HTTP 500″, ma causare altre complicazioni.
È più sicuro ed efficiente disabilitare tutti i plugin da Site Tools (se sei un utente SiteGround) o dal database.
Leggi le seguenti guide per i passaggi dettagliati:
- Come disabilitare tutti i plugin da Site Tools
- Come disabilitare tutti i plugin dal database del sito web
Dopo che i plugin sono stati disabilitati, ricarica il sito web. Se il sito web è corretto, è una forte indicazione che l’errore è causato da uno dei plugin.
Procedi attivando i plugin uno per uno. Quando il plugin difettoso viene riattivato, l’errore tornerà. È quindi possibile disabilitare nuovamente i plug-in per accedere alla dashboard e attivare tutti i plug-in a parte quello problematico.
Puoi prendere in considerazione la possibilità di sostituire questo plugin con un altro o di contattare i suoi sviluppatori per segnalare il problema.
Cambia il tema per il tuo sito web WordPress
Un tema configurato male può anche causare il “500 Internal Server Error” in WordPress. Per verificare se il tema è il problema, dovrai sostituirlo con un altro.
Di solito, puoi cambiare il tema dalla bacheca di WordPress del sito web. Tuttavia, in molti casi, l’errore “HTTP 500″ in corso ti impedisce di accedere.
Leggi questa guida su come cambiare il tema di WordPress per maggiori informazioni.
Aumentare il limite di memoria PHP del sito web
L’errore “HTTP 500″ può anche essere causato da script PHP che hanno superato il limite di memoria del tuo sito web. Per impostazione predefinita, il limite su tutti i piani SiteGround è impostato su 512M. Tuttavia, il tuo sito Web WordPress potrebbe essere impostato su un valore inferiore. Per aumentare il limite di memoria, segui i passaggi di questa guida su come aumentare il limite di memoria WP.
Ripristina un backup del sito web
Se nessuna delle soluzioni ha aiutato a risolvere il problema o le trovi difficili da implementare, puoi prendere in considerazione il ripristino del sito Web da un backup. Il ripristino del sito Web annullerà tutte le modifiche che hanno causato l’errore in primo luogo.
Gli utenti SiteGround possono controllare questo tutorial dettagliato per lo strumento di backup del sito web.
Controlla se il tuo sito web contiene file di grandi dimensioni
Un altro motivo comune per questo errore è avere un file molto grande come parte del tuo sito web. Sui server di hosting condiviso di SiteGround esiste un limite di dimensione per i file che possono essere aperti tramite il web. Il limite è 8GB e se il tuo sito web include un file più grande, questo comporterà l’errore sopra riportato.
Controlla i file del tuo sito web tramite SSH, FTP o File Manager per individuare quello che causa il problema. Molto spesso si tratta di log con errori PHP.
Sui server di SiteGround, un file di registro viene creato automaticamente se gli script PHP del tuo sito producono errori non critici o avvisi durante la loro esecuzione. Il nome del file di registro è php_errorlog e si trova nella stessa directory dello script che ha prodotto gli errori. Di solito, questa sarebbe la cartella principale del tuo sito web.
Contatta il provider di web hosting
In definitiva, il “500 Internal Server Error” potrebbe non essere causato dalla configurazione del tuo sito web. Il server MySQL potrebbe essere inattivo o il server potrebbe essere sovraccarico. Contatta il team di supporto del tuo hosting web in modo che possano controllare lo stato del server e aiutare ulteriormente con il problema.
Monitora gli errori 5xx per proteggere la SEO
Gli errori 5xx possono danneggiare il posizionamento organico del tuo sito. Per mantenere ottime prestazioni SEO, esegui regolarmente controlli in blocco utilizzando strumenti come Website Auditor. Questo strumento identifica tutte le pagine con codici di errore 500 e ti consente di esportare l’elenco per un’analisi e una gestione dettagliate, assicurandoti di poter risolvere tempestivamente i problemi e mantenere il tuo sito ottimizzato.
Per iniziare la scansione, apri il software, crea un nuovo progetto e lascia che esegua la scansione e analizzi le pagine del sito. Una volta completata la scansione, vai al modulo Site Audit e controlla la sezione Indexing and Crawlability per le risorse con codici di stato 5xx.
Riepilogo
L’HTTP “500 Internal Server Error” può essere molto frustrante da gestire a causa della sua natura poco chiara. Il problema può provenire da un problema locale o da un errore sul sito Web o sul server.
Questa guida può aiutarti a restringere le cause per correggere l’errore in modo più efficiente.
Il “HTTP 500 Error” è uno dei tanti codici di errore. Leggi questa guida per saperne di più sui diversi codici di errore.
Per ulteriori informazioni sulla correzione di altri codici di stato 5.XX, leggi i seguenti articoli: