Jak naprawić błąd HTTP 302 (metody 5)
Opublikowany: 2021-11-06Kody HTTP 302 to cenny sposób na tymczasowe przekierowywanie użytkowników witryny pod inny adres URL. Jeśli jednak Twoja witryna błędnie wyświetla przekierowania 302, jest to znak, że coś jest nie tak.
Nie martw się — możesz rozwiązać ten problem — ale będziesz musiał rozwiązać pewne problemy.
Pierwszym krokiem jest dokładne zrozumienie, czym są kody HTTP 302, jak działają i dlaczego występują. Gdy już to wiesz, możesz dowiedzieć się, co poszło nie tak i jak to naprawić.
W tym poście powiemy Ci wszystko, co musisz wiedzieć o błędach HTTP 302. Następnie udostępnimy pięć wskazówek dotyczących rozwiązywania problemów, które pomogą Ci je naprawić.
Zacznijmy!
Sprawdź nasz przewodnik wideo dotyczący kodu stanu HTTP 302
Co to są kody stanu HTTP 302?
Kody 302 to specyficzny rodzaj kodu stanu HTTP. Kody te są jak „notatki”, które serwer dostarcza do Twojej przeglądarki.
Za każdym razem, gdy klikasz łącze lub przechodzisz do adresu URL, Twoja przeglądarka żąda tego samego od serwera WWW. W zamian serwer odsyła odpowiedni zasób (np. stronę, do której próbujesz uzyskać dostęp) wraz z nagłówkiem HTTP. Kody stanu HTTP znajdują się w tym nagłówku.
Zazwyczaj nie można zobaczyć tych kodów stanu nigdzie na stronie internetowej. Zwykle zobaczysz je tylko wtedy, gdy wystąpi błąd lub jeśli zainstalowałeś rozszerzenie przeglądarki, które sprawia, że są widoczne:
Kody stanu 3xx (301, 302 itd.) to klasa kodów stanu zwana „kodami przekierowania”. Zwracane są za każdym razem, gdy serwer odsyła nowy zasób zamiast żądanego zasobu.
Innymi słowy, są one wyświetlane, gdy strona internetowa, do której chciałeś uzyskać dostęp, przekierowuje Cię na inną stronę.
Krytyczna różnica między kodem 301 a kodem 302 polega na tym, że ten pierwszy jest używany do stałych przekierowań, a drugi do tymczasowych przekierowań.
Przekierowania 301 również przekazują „sok linków”, podczas gdy 302 nie. Ma to znaczący wpływ na optymalizację wyszukiwarek (SEO).
Jak działają przekierowania 302
Gdy skonfigurujesz przekierowanie 302 dla strony w witrynie, która jest chwilowo niedostępna, a użytkownik odwiedzi tę stronę, Twój serwer internetowy odpowie przeglądarce odwiedzającego specjalnym nagłówkiem lokalizacji. Ten nagłówek wskaże nowy adres URL, do którego przeglądarka powinna przekierować użytkownika.
Na przykład wyobraź sobie, że użytkownik wpisuje blog.example.com w pasku adresu przeglądarki, ale witryna jest skonfigurowana tak, aby przekierowywać ją na blogging.example.com .
Odpowiedź serwera będzie zawierać zarówno kod stanu 302, jak i nagłówek Lokalizacja: blogging.example.com . To ustawienie informuje przeglądarkę użytkownika, aby zamiast tego przekierowała to żądanie do nowego adresu URL.
Oczywiście wszystko to dzieje się automatycznie i zakulisowo. Użytkownik nie powinien być w stanie zobaczyć żadnej z tych akcji. Zamiast tego ich przeglądarka powinna automatycznie przenieść je do nowego zasobu.
Dlaczego występują błędy HTTP 302
Jeśli coś jest źle skonfigurowane w Twojej witrynie, może to spowodować błędne wystawienie 302 kodów. Jeśli tak się stanie, możesz napotkać problemy, takie jak:
- Strona w Twojej witrynie, która przekierowuje odwiedzających w inne miejsce, gdy nie powinno
- Strona w Twojej witrynie, która przekierowuje odwiedzających do niewłaściwego zasobu
- Błąd ERR_TOO_MANY_REDIRECTS (znany również jako „pętla przekierowania”)
Ostatni z tych problemów jest jedynym, który wyświetla rzeczywistą stronę błędu. Jeśli używasz przeglądarki Chrome, strona błędu pętli przekierowania będzie wyglądać mniej więcej tak:
W przeglądarce Mozilla Firefox wygląda to tak:
Wszystkie powyższe problemy są spowodowane błędną konfiguracją. Może to być konflikt wtyczek, nieprawidłowe ustawienia adresu URL lub źle skonfigurowany plik .htaccess .
Jak naprawić błąd HTTP 302 (metody 5)
Następnie omówimy pięć metod rozwiązywania problemów, które mogą pomóc w ustaleniu przyczyny problemu i rozwiązaniu go.
Zanim zaczniemy, najpierw wykonaj pełną kopię zapasową swojej witryny. W ten sposób, jeśli coś pójdzie nie tak, zawsze możesz wrócić do poprzedniej wersji. Możesz to zrobić za pomocą wtyczki WordPress.
1. Określ, czy przekierowania są prawidłowe
302 odpowiedzi zwykle nie są błędami. Tymczasowe przekierowanie użytkowników na inną stronę może być prawidłową konfiguracją i zazwyczaj nie wymaga naprawy.
Jest to błąd tylko wtedy, gdy Twoja witryna odpowiada 302 kodami, których nie powinna wydawać, lub jeśli powoduje pętlę przekierowań. Dlatego pierwszym krokiem jest podwójne sprawdzenie, które adresy URL generują kody HTTP 302 i ustalenie, czy przekierowanie jest odpowiednie, czy nie.
Aby to zrobić, możesz przejść do stron w swojej witrynie, które podejrzewasz o wygenerowanie błędu 302 i przekonać się, czy zachowują się one zgodnie z oczekiwaniami. Jeśli chwilowo niedostępna strona przekierowuje do właściwego zasobu, jest odpowiednio skonfigurowana.
Jeśli jednak strona przekierowuje Cię do niewłaściwego zasobu lub Twoja przeglądarka zgłasza pętlę przekierowania, wyświetlając stronę błędu ERR_TOO_MANY_REDIRECTS, jest to znak, że jedno (lub więcej) z Twoich przekierowań nie jest poprawnie skonfigurowane.
2. Sprawdź swoje wtyczki
Jedną z najczęstszych przyczyn błędów 302 i pętli przekierowań są wtyczki.
Niektóre wtyczki menedżera przekierowań WordPress i narzędzia SEO, takie jak Yoast SEO, zarządzają przekierowaniami Twojej witryny i umożliwiają konfigurowanie reguł przekierowań:
Jeśli te reguły są źle skonfigurowane lub jeśli występują konflikty dwóch wtyczek, może to spowodować nieoczekiwane problemy. Dlatego musisz sprawdzić każde odpowiednie narzędzie zainstalowane w Twojej witrynie.

Na przykład, jeśli korzystasz z popularnej wtyczki 301 Przekierowania WordPress, możesz sprawdzić konfigurację, przechodząc do Ustawienia > Przekierowania 301 . W sekcji Reguły przekierowań zobaczysz listę wszystkich skonfigurowanych reguł przekierowań:
Sprawdź wszystkie wymienione tutaj przekierowania 302 i upewnij się, że wszystkie są poprawne.
Będziesz także chciał się upewnić, że nie ustawiłeś niczego w sposób, który mógłby spowodować pętlę przekierowania. Na przykład, jeśli strona A jest ustawiona na przekierowanie na stronę B, ale strona B jest również ustawiona na przekierowanie na stronę A, spowoduje to błąd.
Jeśli masz wiele wtyczek menedżera przekierowań i nie masz pewności, która z nich powoduje problem, możesz spróbować dezaktywować je pojedynczo na stronie Wtyczki WordPress (pamiętaj, aby najpierw wykonać kopię zapasową):
Po dezaktywacji każdej wtyczki spróbuj ponownie odwiedzić problematyczny adres URL, aby sprawdzić, czy błąd 302 nadal występuje.
Jeśli problem zostanie nagle rozwiązany, dowiesz się, która wtyczka spowodowała problem, a następnie możesz zdecydować się na dalsze rozwiązywanie problemów lub usunąć ją ze swojej witryny.
3. Upewnij się, że ustawienia adresu URL WordPress są poprawnie skonfigurowane
Inną częstą przyczyną błędu HTTP 302 jest błędna konfiguracja w ustawieniach adresu URL WordPress.
Aby to sprawdzić, przejdź do Ustawienia > Ogólne na pulpicie WordPress. Tutaj powinieneś zobaczyć pole adresu WordPress (URL) i pole adresu witryny (URL) :
W większości przypadków adresy URL w obu tych polach powinny być zgodne. Upewnij się, że obie są takie same, łącznie z częścią „www” (lub jej brakiem) przed nazwą domeny.
Doświadcz wyjątkowego wsparcia hostingu WordPress z naszym światowej klasy zespołem wsparcia! Porozmawiaj z tym samym zespołem, który wspiera naszych klientów z listy Fortune 500. Sprawdź nasze plany
Jeśli się nie zgadzają, zaktualizuj ustawienia, a następnie sprawdź adres URL strony powodującej błąd HTTP 302, aby zobaczyć, czy został naprawiony.
4. Sprawdź konfigurację serwera
Źle skonfigurowany serwer może czasami powodować błędy przekierowania 302. Dlatego następnym krokiem jest sprawdzenie konfiguracji serwera.
Jeśli Twój host korzysta z serwera Apache, możesz to zrobić, sprawdzając plik .htaccess .
Najpierw połącz się z serwerem witryny za pomocą pulpitu kontrolnego, takiego jak cPanel lub klient FTP. Następnie przejdź do katalogu głównego swojej witryny — to samo miejsce, co foldery wp-admin i wp-content — i znajdź plik .htaccess :
Jeśli nie znajdziesz tutaj pliku .htaccess (i masz pewność, że znajduje się na serwerze Apache), być może będziesz musiał powiedzieć FileZilla, aby wyświetlał ukryte pliki, zanim pojawią się one na liście plików.
Następnie otwórz plik w swoim ulubionym edytorze tekstu. Powinno to wyglądać mniej więcej tak:
Teraz poszukamy dyrektyw RewriteXXX
(podświetlone elementy powyżej). Bez zbytniego wchodzenia w kwestie techniczne, dyrektywy RewriteCond
i RewriteRule
służą do wykonywania przekierowań z jednego adresu URL do drugiego.
Dyrektywa RewriteCond
określa adres URL, z którego chcesz przekierować odwiedzającego, podczas gdy dyrektywa RewriteRule określa adres URL, na który chcesz go przekierować. Oto przykład:
RewriteEngine on RewriteCond %{HTTP_HOST} ^website.com$ RewriteRule ^(.*)$ http://www.temporary-website.com/$1 [R=302]
Flaga na końcu „[R=302]” informuje przeglądarkę, że jest to tymczasowe przekierowanie 302.
Jeśli zauważysz kombinacje RewriteXXX podobne do powyższych w pliku .htaccess , których nie powinno tam być, możesz je skomentować, zapisać zmiany i ponownie załadować stronę internetową problemu, aby sprawdzić, czy to rozwiąże problem.
Po prostu pobierz i zapisz zapasową kopię pliku .htaccess przed wprowadzeniem jakichkolwiek zmian na wypadek, gdyby coś poszło nie tak.
5. Porozmawiaj ze swoim hostem internetowym
Jeśli wypróbowałeś wszystkie powyższe metody i nadal masz problemy, następnym krokiem jest rozmowa z usługodawcą hostingowym.
Rozwiązywanie problemów z błędem kodu 302 wykraczającym poza ten punkt wymaga dużej wiedzy technicznej. Dlatego, jeśli nie jesteś profesjonalnym programistą, prawdopodobnie najlepiej jest uzyskać pomoc eksperta.
W Kinsta poważnie traktujemy wsparcie. Nasz zespół ekspertów WordPress jest zawsze pod ręką, aby pomóc Ci rozwiązać takie problemy, gdy tylko się pojawią:
Jesteśmy dostępni 24/7. Wszystko, co musisz zrobić, to zalogować się na swoje konto MyKinsta i skontaktować się z nami za pośrednictwem czatu na żywo, aby połączyć się z inżynierem pomocy technicznej, który może pomóc w czasie rzeczywistym.
Streszczenie
Kody stanu HTTP 302 to całkowicie normalny sposób przekierowywania odwiedzających witrynę. Należy ich jednak używać tylko wtedy, gdy strona zasobów jest tymczasowo niedostępna.
Załóżmy, że Twoja witryna wysyła błędnie 302 kody lub powoduje pętle przekierowań. W takim przypadku konieczne jest jak najszybsze rozwiązanie tego problemu, w przeciwnym razie może to negatywnie wpłynąć na SEO i konwersje.
Możesz wykonać te pięć kroków, aby naprawić błędy HTTP 302 w swojej witrynie:
- Sprawdź, czy przekierowania są odpowiednie, czy nie, sprawdzając adresy URL, które wysyłają przekierowania 302.
- Sprawdź swoje wtyczki, aby upewnić się, że wszystkie ustawienia przekierowania są prawidłowe.
- Upewnij się, że ustawienia adresu URL WordPress są poprawnie skonfigurowane.
- Sprawdź konfigurację serwera, szukając nieprawidłowych dyrektyw
RewriteXXX
w pliku .htaccess (tylko serwery Apache). - Porozmawiaj ze swoim usługodawcą hostingowym, aby uzyskać dalszą pomoc techniczną, jeśli problem będzie się powtarzał.
Czy masz jakieś pytania dotyczące błędu HTTP 302? Daj nam znać w sekcji komentarzy.