Kiedy dzwonię do naszej witryny „www.example.com/contact-us”, pojawia się następujący błąd:
Ups, wygląda na to, że to żądanie próbowało utworzyć nieskończoną pętlę. Nie zezwalamy na takie rzeczy tutaj. Jesteśmy profesjonalną stroną internetową!
Jeśli zadzwonię do witryny pod adresem „www.example.com/node/5”, strona kontaktu zostanie wyświetlona w porządku.
Kiedy sprawdzam alias ścieżki w / admin / config / search / path / edit / 6, ścieżka systemowa i alias są ustawione poprawnie.
Kolejny problem istnieje w przypadku innego aliasu, gdy dzwonię „www.example.com/staff”, zostajesz przekierowany na stronę docelową „www.example.com”. Ponownie alias jest ustawiony poprawnie.
Używamy Drupal 7 oraz modułów i18n_redirect i redirect.
7
redirection
path-aliases
Matthias
źródło
źródło
Odpowiedzi:
Edytuj swoją stronę i przejdź do przekierowań adresów URL . Znajdź ścieżkę przekierowania o największej liczbie zliczeń i usuń ją. Kliknij przycisk Zapisz, a następnie wyświetl stronę.
Daj mi znać, czy to rozwiązało problem
źródło
Aktualizacja: Problem Drupal nr 1796596 został popełniony od wersji przekierowania 1.0-rc2 (czerwiec 2015). Prawidłowym rozwiązaniem tego problemu jest teraz aktualizacja do najnowszej stabilnej wersji modułu Przekierowanie, a następnie uruchomienie aktualizacji bazy danych. Wszelkie przekierowania okrężne zostaną bezpiecznie usunięte.
Ten problem pojawił się z powodu błędu w module przekierowania. Wywołujesz go, zmieniając adres URL strony (a może po prostu jej tytuł, jeśli używasz pathauto), a następnie zmieniając go z powrotem na poprzedni.
Załóżmy na przykład, że mam stronę o nazwie „firma” i zmieniłem tytuł na „Nasza firma” (która zmieniła alias adresu URL na naszą firmę). Potem zdecydowałem, że tak naprawdę wolę ten pierwszy sposób, więc ponownie edytuję węzeł i zmieniam tytuł z powrotem na „Firma”. W tym momencie komunikat o błędzie „ Ups, wygląda na to, że to żądanie próbowało utworzyć nieskończoną pętlę. Nie zezwalamy na takie rzeczy tutaj. Jesteśmy profesjonalną stroną internetową! ” Zacznie się pojawiać na stronie firmy.
Istnieją trzy sposoby rozwiązania tego problemu, w zależności od tego, co jest dla ciebie najłatwiejsze. Różnią się poziomem trudności / odwagą od góry do dołu.
Metoda Drupal / PHP
Jest długi błąd Drupala na ten temat: Problem # 1796596 i jest dobra działająca łatka, która naprawia problem w komentarzu # 124 .
Mam nadzieję, że ta poprawka wkrótce zostanie zatwierdzona w module Przekierowanie do pobrania. Jednak minął już ponad rok i nie widać żadnych postępów w tej dziedzinie.
Metoda SQL
Najszybszym rozwiązaniem problemu jest zapytanie SQL do bazy danych, z czymś takim jak poniżej. UWAŻAJ i wypróbuj tę metodę tylko wtedy, gdy wiesz, co robisz - wypróbuj ją najpierw w kopii rozwojowej witryny i upewnij się, że masz kopię zapasową, a następnie przetestuj zmiany na wypadek, gdybyś musiał wycofać się. Zachowaj szczególną ostrożność i dobrze przetestuj pierwsze zapytanie, jeśli używasz i18n ... Uruchom pierwsze zapytanie, aby pokazać, co zostanie usunięte, a drugie, aby faktycznie usunąć.
Jeśli nie wiesz, jak zastosować poprawki lub uruchomić zapytania SQL, musisz rozwiązać problem ręcznie. Nie martw się, w rzeczywistości jest to dość łatwe (ale czasochłonne w porównaniu do innych metod):
Metoda ręczna:
Dla każdej strony, na której wyświetlał się komunikat ostrzegawczy:
źródło
Jeśli mamy takie same przekierowania do aliasu węzła, innym sposobem naprawienia tego błędu jest uruchomienie skryptu, który przejdzie przez cały identyfikator nid (w przypadku węzłów) i sprawdzi, czy alias każdego węzła ma przekierowanie o tej samej nazwie, jeśli istnieje jest wyeliminowany.
Możesz uruchomić ten kod w opcji „Wykonaj kod PHP” z menu programowania.
Ta forma jest podobna do „metody SQL”, po prostu wykonuję ją z Drupala, a nie z bazy danych.
źródło
Zastosuj łatkę w Fix i zapobiegaj okrągłym przekierowaniom (lub poczekaj, aż dostanie się do modułu).
źródło
Utwórz skrypt Drush:
Zapisz go w pliku i uruchom za pomocą bazy kodów witryny
drush php-script [PATH_TO_SCRIPT]
, a spowoduje to usunięcie wszelkich przekierowań, które kolidują z aliasami adresów URL.źródło
Jak mogę zapobiec wyświetlaniu komunikatu o błędzie „pętla przekierowania” na serwerze produkcyjnym w przyszłości? Na tej stronie ustawiłem już raportowanie błędów „brak” - admin / config / development / loging
źródło
Jedynym sposobem po wypróbowaniu wielu poprawek było otwarcie pliku redirect.module i pominięcie wiersza # 989
źródło
Mój angielski nie jest zbyt dobry, ale myślę, że nie masz problemu ze mną przeczytać. Mam przed tym problemem i rozwiązałem go, więc usunąłem moduł REDIRECT. Pozdrawiam Zespół strony KoZnaZna - Simon
źródło