Errore 404 su tutte le pagine a causa di un problema di gestione temporanea del contenuto

Questo articolo fornisce una correzione per il problema di infrastruttura cloud di Adobe Commerce on-premise e Adobe Commerce, in cui viene visualizzato un errore 404 durante l’accesso a qualsiasi pagina storefront o all’amministratore Commerce.

Prodotti e versioni interessati

  • Adobe Commerce on-premise 2.2.x, 2.3.x
  • Adobe Commerce sull’infrastruttura cloud 2.2.x, 2.3.x

Problema

NOTE
Questo articolo non è applicabile alla situazione in cui si verifica un errore 404 quando si tenta di visualizzare in anteprima l'aggiornamento della gestione temporanea. Se riscontri questo problema, apri un ticket di supporto.

L'accesso a qualsiasi pagina della vetrina o all'amministratore genera l'errore 404 (la pagina "Ops, le nostre cattive…") dopo aver eseguito operazioni con aggiornamenti pianificati per le risorse di contenuto del negozio utilizzando Staging contenuto (aggiornamenti per le risorse di contenuto del negozio pianificate utilizzando il modulo Magento_Staging). Ad esempio, potresti aver eliminato un prodotto con un aggiornamento pianificato o rimosso la data di fine per l’aggiornamento pianificato.

Una risorsa di contenuto store include:

  • Prodotto
  • Categoria
  • Regola prezzo catalogo
  • Regola prezzo carrello
  • Pagina CMS
  • Blocco CMS
  • Widget

Alcuni scenari sono descritti nella sezione Causa seguente.

Causa

La tabella flag nel database (DB) contiene collegamenti non validi alla tabella staging_update.

Il problema è relativo alla gestione temporanea dei contenuti. Di seguito sono riportati due scenari specifici; tieni presente che potrebbero verificarsi più situazioni che attivano il problema.

Scenario 1: eliminazione di una risorsa di contenuto dell'archivio che:

  • ha un aggiornamento pianificato con Content Staging
  • l’aggiornamento ha una data di fine (ossia la data di scadenza dopo la quale la risorsa aggiornata torna alla versione precedente)
  • la data di fine dell’aggiornamento è nel passato

Allo stesso tempo, il problema potrebbe non verificarsi se una risorsa eliminata non ha una data di fine per l’aggiornamento pianificato.

Scenario 2: Rimozione della data/ora di fine di un aggiornamento pianificato.

Identifica se il problema è correlato

Per verificare se il problema riscontrato è quello descritto in questo articolo, esegui la seguente query DB:

   SELECT f.flag_data >'$.current_version' as flag_version, (su.id IS NOT NULL) as update_exists
   -> FROM flag f
   -> LEFT JOIN staging_update su
   -> ON su.id = f.flag_data >'$.current_version'
   -> WHERE flag_code = 'staging';

Se la query restituisce una tabella in cui il valore update_exists è "0", nel database esiste un collegamento non valido alla tabella staging_update e i passaggi descritti nella sezione Soluzione aiuteranno a risolvere il problema. Di seguito è riportato un esempio del risultato della query con valore update_exists uguale a "0":

update_exists_0.png

Se la query restituisce una tabella in cui il valore update_exists è "1" o un risultato vuoto, significa che il problema non è correlato agli aggiornamenti della gestione temporanea. Di seguito è riportato un esempio del risultato della query con valore update_exists uguale a "1":

aggiornamenti_exists_1.png

In questo caso, è possibile fare riferimento a Risoluzione dei problemi di inattività del sito per informazioni sulla risoluzione dei problemi.

Soluzione

  1. Eseguire la query seguente per eliminare il collegamento non valido alla tabella staging_update:

    code language-sql
    DELETE FROM flag WHERE flag_code = 'staging';
    
  2. Attendere l'esecuzione del processo cron (se configurato correttamente, può durare fino a cinque minuti) oppure eseguirlo manualmente se non si dispone di cron.

Il problema deve essere risolto subito dopo aver risolto il collegamento non valido. Se il problema persiste, invia un ticket di supporto.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a