Aggiornamento: il problema Drupal n. 1796596 è stato risolto a partire da Redirect 1.0-rc2 (giugno 2015). La soluzione corretta per questo problema ora è l'aggiornamento all'ultima versione stabile del modulo Redirect e quindi eseguire gli aggiornamenti del database. Eventuali reindirizzamenti circolari che hai verranno ripuliti in modo sicuro.
Questo problema è stato causato da un bug nel modulo di reindirizzamento. Lo attivi cambiando l'URL di una pagina (o forse solo il suo titolo, se stai usando pathauto) e poi cambiandolo di nuovo a quello che era.
Ad esempio, supponiamo di avere una pagina chiamata "company" e ho cambiato il titolo in "Our company" (che ha cambiato l'alias URL in our-company). Quindi ho deciso di preferirlo nel primo modo in modo da modificare nuovamente il nodo e cambiare il titolo in "Azienda". A quel punto il messaggio di errore " Spiacenti, sembra che questa richiesta abbia cercato di creare un ciclo infinito. Non consentiamo queste cose qui. Siamo un sito Web professionale! " Inizierebbe a comparire nella pagina dell'azienda.
Esistono tre modi per risolvere questo problema, a seconda di ciò che è più semplice per te. Esse variano in difficoltà / coraggio dall'alto verso il basso.
Il metodo Drupal / PHP
C'è un lungo bug di Drupal sull'argomento: problema n. 1796596 e c'è una buona patch funzionante che risolve il problema nel commento n . 124 .
Spero che questa correzione venga presto inserita nel modulo Redirect per il download. Tuttavia è passato più di un anno ormai senza alcun segno di progresso su questo fronte.
Il metodo SQL
La soluzione più rapida per il problema è con una query SQL nel database, con qualcosa di simile di seguito. ATTENZIONE e prova questo metodo solo se sai cosa stai facendo: provalo prima su una copia di sviluppo del sito e assicurati di avere un backup e verifica subito le modifiche nel caso in cui sia necessario eseguire il rollback. Fai molta attenzione e testa bene la prima query se stai usando i18n ... Esegui la prima query per mostrare cosa verrebbe eliminato e la seconda per fare effettivamente l'eliminazione.
--Show records to be deleted:
SELECT r.rid, r.language, r.source, r.redirect
FROM redirect r INNER JOIN url_alias u ON r.source = u.alias
AND r.redirect = u.source AND r.language = u.language;
--Delete redirects shown in above query:
DELETE r FROM redirect r INNER JOIN url_alias u ON r.source = u.alias
AND r.redirect = u.source AND r.language = u.language;
Se non sai come applicare patch o eseguire query SQL, devi risolvere il problema manualmente. Non ti preoccupare, in realtà è abbastanza facile da fare (ma richiede molto tempo rispetto agli altri metodi):
Il metodo manuale:
Per ciascuna delle pagine in cui è visualizzato il messaggio di avviso:
- Modifica la pagina
- Scorri fino alla fine del modulo di modifica
- Nota l'URL principale della pagina. Viene visualizzato sotto "Impostazioni percorso URL", ad es. "Alias: company" significa che l'URL della pagina è "company". Puoi fare clic su "Impostazioni percorso URL" per visitare la sua sezione e confermare l'alias URL se non sei sicuro.
- Ora fai clic su "Reindirizzamenti URL". Verranno mostrati i reindirizzamenti alla pagina corrente. Ci sarà almeno un reindirizzamento uguale all'alias URL annotato nel passaggio 3. È possibile che più di un reindirizzamento in questo elenco corrisponda all'alias URL.
- Elimina tutti i reindirizzamenti uguali all'alias URL. Questi sono i dati del problema che causano la visualizzazione del ciclo e del messaggio di errore.
- Una volta che non ci sono più reindirizzamenti in "Reindirizzamenti URL" che corrispondono esattamente all'alias URL della pagina del problema nelle impostazioni del percorso URL, il messaggio di errore scompare.