Errore Magento 2.2 "La pagina non sta reindirizzando correttamente"


10

Sto testando il mio modulo su Magento CE 2.2.0 ma continuo a ricevere "La pagina non viene reindirizzata correttamente". Guardando il traffico di rete vedo queste richieste:

  • / Magento22-acumulus / admin /
  • / Magento22-acumulus / admin / admin / index / negato /
  • / Magento22-acumulus / admin / admin / auth / login /
  • / Magento22-acumulus / admin / admin /
  • / Magento22-acumulus / admin / admin / index / negato /
  • / Magento22-acumulus / admin / admin / auth / login /
  • / Magento22-acumulus / admin / admin /
  • / Magento22-acumulus / admin / admin / index / negato /
  • / Magento22-acumulus / admin / admin / auth / login /
  • / Magento22-acumulus / admin / admin /
  • ...

La mia configurazione:

  • installazione locale su base url / magento22-acumulus /
  • Wampserver 3.0.8 con php 7.0.10 e Apache 2.4.23

Cosa ho fatto:

  • installa Magento 2.2.0 con dati di esempio
  • impostazioni modificate: rimuovere la chiave segreta e utilizzare admin / url standard
  • testato: ottengo la schermata di accesso
  • installa il mio modulo, modulo: abilita, imposta: aggiorna, imposta: di: compila
  • testato: errore come sopra
  • modulo: disabilita, cache: pulita, installazione: di: compilazione
  • testato: ottengo la schermata di accesso
  • ripetuto più volte, stesso schema, quindi stavo pensando che avesse a che fare con il mio modulo.
  • Ma poi ho fatto funzionare il mio modulo una volta e sono stato in grado di andare alle mie pagine. Sfortunatamente l'errore è tornato, quindi ho continuato a fare il debug abilitando e disabilitando il mio modulo ma non sono riuscito a individuare il problema
  • e ora ho anche il problema senza il mio modulo abilitato. Quindi penso che sia una strana condizione / bug nello stesso Magento.

Quale potrebbe essere il problema qui?


se hai una soluzione invia la tua risposta
lalit mohan

Purtroppo non ancora. Ho smesso di testare il mio modulo su MA2.2 e ora lo testo solo su MA2.1. Il mio modulo viene utilizzato dai clienti su MA2.2, quindi un motivo in più per credere che non si tratti di un errore nella configurazione, nelle impostazioni o nel codice del mio modulo. Se, alla fine, trovo una soluzione, la posterò.
fietserwin,

Ho lo stesso problema. Ho scoperto che c'è un problema con il mio modulo Helper Class .. Devi controllare i tuoi moduli uno per uno .. disabilita per scoprire quale causa di errore ..
lalit mohan,

puoi condividere l'immagine che cosa ottieni errore esatto?
Sarvesh Dineshkumar Patel,

hai provato una nuova versione e non hai aggiunto estensioni o altro?
Sarvesh Dineshkumar Patel,

Risposte:


1

Non sono sicuro che si tratti di un bug nel processo di compilazione o di qualcosa di sbagliato nel codice del modulo. Nel mio caso, la compilazione di Magento stava creando erroneamente un intercettore per una classe sul mio modulo (senza un vero costruttore definito) che estendeva un'altra classe di un altro modulo che estendeva una classe dal core Magento (entrambi con costruttori definiti). Ciò stava anche creando una pagina vuota nel frontend, oltre ai problemi menzionati. Dopo diverse nuove installazioni di Magento 2.2 e anche Magento 2.1 con lo stesso problema, questo ha funzionato per me:

  • Abilita modalità sviluppatore: php bin / magento deploy: mode: imposta sviluppatore
  • Installa il tuo modulo (carica / copia file) quindi esegui php bin / magento setup: upgrade
  • Invece di eseguire il processo di compilazione (necessario solo quando l'ordine degli argomenti del costruttore viene modificato o i tipi di argomento cambiati), basta eliminare la cartella / generate / codice / YOURMODULENAMESPACE

0

Dato che stai usando Apache, ti suggerisco di abilitare RewriteLog. Quindi replicare il problema e controllare nuovamente i registri.

RewriteLog "logs\rewritelog.txt"    
RewriteLogLevel 3

Grazie per la tua risposta, ma cosa potrebbe impararmi? Ho già provato a eseguire il debug, quindi so che ogni richiesta reindirizzata viene elaborata da Magento. Non vedo come Apache entra in scena?
fietserwin,

Magento non è un server web. Il server web apache utilizza i reindirizzamenti. Quindi, poiché l'errore riguarda un reindirizzamento, il primo posto dove cercare, tra l'altro, ciò che sta facendo apache. Hai il 50% di chanch per vedere che Apache o sta facendo uno strano reindirizzamento (da http a https o simili) e il 50% di chanch per vedere che Magento istruisce Apche a reindirizzare in un modo strano, forse come non-www a www o viceversa.
x86fantini,

Magento restituisce le istruzioni di reindirizzamento al browser. Non ci sono problemi http contro https (come in molti altri rapporti sui reindirizzamenti infiniti MA2.2), né www contro non-www, poiché questo è su localhost. I reindirizzamenti sono alle pagine come descritto nella domanda.
fietserwin,

0

La scorsa settimana, ho provato di nuovo a installare un ambiente M2.3.4 pulito (con dati di esempio) e, hoora, sembra funzionare. Tranne che dopo aver eseguito una configurazione: di: compilare questo problema è apparso di nuovo. Tuttavia, la rimozione del codice generato da / generate / codice ha fatto sì che funzionasse di nuovo ... Quindi potrebbe essere un problema nel generatore o un codice che controlla il tipo di un oggetto e non soddisfa le classi di intercettori generate. .

@Gabriel MdS ha risposto più o meno alla stessa cosa, ma per me è successo anche quando il mio modulo non era ancora installato, quindi avevo solo l'installazione pulita con dati di esempio.

Quindi, non una risposta o soluzione definitiva, ma, certamente insieme alla risposta di @Gabriel MdS, un forte suggerimento per il processo di generazione.


0

So che si tratta di un vecchio battistrada, ma al primo posto nella mia ricerca su Google. Nessuna di queste risposte mi ha aiutato ma ho riscontrato lo stesso problema e sono stato in grado di risolverlo. La mia configurazione utilizza un proxy inverso. Dietro al proxy utilizzo http (non ssl) e prima del proxy è consentito solo https (ssl). Ciò ha causato il mio problema di reindirizzamento.

Soluzione: aggiungi la seguente riga (subito dopo i commenti) a pub / index.php

$ _SERVER [ 'HTTPS'] = 'on';

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.