Update: Drupal-Problem Nr. 1796596 wurde ab Redirect 1.0-rc2 (Juni 2015) festgeschrieben. Die richtige Lösung für dieses Problem besteht nun darin, auf die neueste stabile Version des Redirect-Moduls zu aktualisieren und anschließend Datenbankaktualisierungen auszuführen. Alle kreisförmigen Weiterleitungen, die Sie haben, werden sicher bereinigt.
Dieses Problem trat aufgrund eines Fehlers im Umleitungsmodul auf. Sie lösen es aus, indem Sie die URL einer Seite (oder nur den Titel, wenn Sie pathauto verwenden) ändern und sie dann wieder in den ursprünglichen Zustand zurückversetzen.
Angenommen, ich hatte eine Seite mit dem Namen "Firma" und habe den Titel in "Unsere Firma" geändert (wodurch der URL-Alias in "Unsere Firma" geändert wurde). Dann habe ich beschlossen, dass ich es tatsächlich als erstes bevorzugt habe, also bearbeite ich den Knoten erneut und ändere den Titel wieder in "Firma". Zu diesem Zeitpunkt wird die Fehlermeldung " Ups, es sieht so aus, als hätte diese Anfrage versucht, eine Endlosschleife zu erstellen. Wir erlauben solche Dinge hier nicht. Wir sind eine professionelle Website! " Auf der Unternehmensseite angezeigt.
Es gibt drei Möglichkeiten, dies zu beheben, je nachdem, was für Sie am einfachsten ist. Sie variieren in Schwierigkeitsgrad / Tapferkeit von oben nach unten.
Die Drupal / PHP-Methode
Es gibt einen langen Drupal-Fehler zu diesem Thema: Problem Nr. 1796596 und es gibt einen gut funktionierenden Patch, der das Problem in Kommentar Nr. 124 behebt .
Hoffentlich wird dieses Update bald im Redirect-Modul zum Download bereitgestellt. Allerdings ist es jetzt über ein Jahr her, ohne dass diesbezüglich Fortschritte zu verzeichnen sind.
Die SQL-Methode
Die schnellste Lösung für das Problem ist eine SQL-Abfrage an die Datenbank. Seien Sie vorsichtig und probieren Sie diese Methode nur aus, wenn Sie wissen, was Sie tun. Probieren Sie sie zuerst auf einer Entwicklungskopie der Site aus, stellen Sie sicher, dass Sie ein Backup haben, und testen Sie die Änderungen direkt danach, falls Sie ein Rollback durchführen müssen. Seien Sie besonders vorsichtig und testen Sie die erste Abfrage besonders gut, wenn Sie i18n verwenden ... Führen Sie die erste Abfrage aus, um anzuzeigen, was gelöscht werden soll, und die zweite, um das Löschen tatsächlich durchzuführen.
--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;
Wenn Sie nicht wissen, wie Patches angewendet oder SQL-Abfragen ausgeführt werden sollen, müssen Sie das Problem manuell beheben. Keine Sorge, das ist eigentlich ganz einfach (aber im Vergleich zu den anderen Methoden zeitaufwändig):
Die manuelle Methode:
Für jede der Seiten, auf denen die Warnmeldung angezeigt wurde:
- Bearbeiten Sie die Seite
- Scrollen Sie zum Ende des Bearbeitungsformulars
- Notieren Sie die Haupt-URL der Seite. Es wird unter "URL-Pfadeinstellungen" angezeigt, z. B. "Alias: Firma" bedeutet, dass die URL der Seite "Firma" lautet. Sie können auf "URL-Pfadeinstellungen" klicken, um den entsprechenden Abschnitt aufzurufen und den URL-Alias zu bestätigen, wenn Sie sich nicht sicher sind.
- Klicken Sie nun auf "URL-Weiterleitungen". Die Weiterleitungen zur aktuellen Seite werden angezeigt. Es gibt mindestens eine Weiterleitung, die mit dem in Schritt 3 angegebenen URL-Alias übereinstimmt. Es ist möglich, dass mehr als eine Weiterleitung in dieser Liste mit dem URL-Alias übereinstimmt.
- Löschen Sie alle Weiterleitungen, die mit dem URL-Alias identisch sind. Dies sind die Problemdaten, die dazu führen, dass die Schleife und die Fehlermeldung angezeigt werden.
- Sobald unter "URL-Weiterleitungen" keine Weiterleitungen mehr vorhanden sind, die genau mit dem URL-Alias der Problemseite unter den URL-Pfadeinstellungen übereinstimmen, wird die Fehlermeldung gelöscht.