Błąd ERRRESPONSEHEADERSMULTIPLELOCATION oznacza, że serwer wysłał do przeglądarki więcej niż jeden nagłówek Location w odpowiedzi HTTP, co jest niedozwolone według standardu. Najczęściej błąd ten pojawia się podczas przekierowań (HTTP 3xx), uniemożliwiając poprawne wyświetlenie strony. Poniższy poradnik szczegółowo wyjaśnia przyczyny i przedstawia instrukcje naprawy, zarówno dla webmastera/web dewelopera jak i użytkownika końcowego.
Wyjaśnienie – Co oznacza błąd ERRRESPONSEHEADERSMULTIPLELOCATION?
- HTTP Location header służy do wskazania adresu URL, pod który przeglądarka ma zostać przekierowana (np. po logowaniu, zmianie hasła, itp.).
- Specyfikacja HTTP zabrania wysyłania więcej niż jednego nagłówka Location w jednej odpowiedzi – przeglądarki traktują to jako potencjalne zagrożenie (response splitting), odrzucają taką odpowiedź i pokazują błąd.
Najczęstsze przyczyny błędu
- Błędy w konfiguracji serwera lub aplikacji – framework lub własny kod dodaje nagłówek Location kilkukrotnie.
- Konflikty w warstwach proxy, load balancerów lub firewalli – mogą one dublować nagłówki Location przy przekierowaniach.
- Błędy w routingach backendowych – np. kod zarówno na poziomie aplikacji, jak i na poziomie serwera (nginx/Apache) generuje przekierowanie.
- Nieprawidłowe ustawienie middleware lub pluginów – systemy zarządzania treścią i pluginy mogą niezależnie dodawać przekierowania.
- Zmiany w plikach konfiguracyjnych bez testów – np. modyfikacja pliku .htaccess lub konfigów proxy.
Jak naprawić błąd – instrukcja dla webmastera/web dewelopera
1. Diagnoza – Wykrywanie podwójnych nagłówków
A. Użyj narzędzi do analizy nagłówków (np. curl, Chrome DevTools, Wireshark) –
curl -I https://twojadomena.pl
Sprawdź odpowiedź – jeśli widać więcej niż jeden nagłówek Location, potwierdzenie błędu.
B. Sprawdź logi serwera www – Apache, nginx czy IIS; szukaj wpisów o podwójnym przekierowaniu.
C. Sprawdź framework/back-end – czy mechanizm przekierowań/aplikacja nie generuje wielokrotnych nagłówków, np. przez warunki logiczne, middleware lub pluginy.
2. Usuwanie nadmiarowych nagłówków Location
- Korekta kodu aplikacji –
Upewnij się, że Location dodawany jest tylko raz na dany request. Przykładowo, w PHP wywołujheader('Location: ...')tylko raz i kończ skrypt po przekierowaniu (exit;). - Sprawdź konfigurację serwera –
W Apache: - Skontroluj plik .htaccess pod kątem powielonych reguł
Redirect/RewriteRule. W nginx: - Sprawdź sekcje
return 301/rewrite. - Zbadaj ustawienia proxy/load balancerów –
Tylko jedna warstwa powinna dodawać nagłówek Location.
3. Testowanie poprawności
- Po wyeliminowaniu podwójnych nagłówków, wykonaj testy w narzędziu curl oraz w przeglądarkach (Chrome, Firefox) sprawdzając poprawne przekierowania.
- Skontroluj także, czy inne nagłówki (np. Content-Disposition) nie pojawiają się wielokrotnie, to może generować podobne błędy.
4. Przykłady konfiguracji
Przykład w PHP (poprawne przekierowanie) –
header('Location: https://nowyadres.pl'); exit;
Przykład w nginx –
server { listen 80; server_name twojadomena.pl; return 301 https://nowyadres.pl$request_uri; }
Instrukcja dla użytkownika końcowego
- Odśwież stronę – czasem błąd jest tymczasowy.
- Spróbuj użyć innej przeglądarki – wykluczenie lokalnego cache/cookies.
- Skontaktuj się z administratorem strony – użytkownik nie ma możliwości samodzielnej naprawy, błąd leży po stronie serwera/proxy.
- Sprawdź, czy inne strony działają poprawnie – jeśli nie, problem może dotyczyć Twojego połączenia przez proxy/firewall.
Dodatkowe informacje
- Specyfikacja HTTP wyraźnie zabrania wielokrotnego przesyłania nagłówka Location (RFC 7320, sekcja 3.2.2).
- Podobne błędy mogą dotyczyć innych nagłówków, np. Content-Disposition – tu przyczyną może być przecinek w nazwie pliku lub podwójnie wysłane nagłówki.
- W systemach proxy (Squid, E2Guardian, itp.) – błędne reguły mogą wywoływać podwójne Location.
Podsumowanie kluczowych kroków naprawy
- Sprawdź odpowiedź HTTP pod kątem podwójnych nagłówków Location.
- Usuń dodatkowe nagłówki Location w kodzie aplikacji i konfiguracji serwerowej.
- Przetestuj poprawność przekierowań lokalnie i przez różne przeglądarki.
Usunięcie podwójnych nagłówków Location jest konieczne, aby przeglądarki mogły prawidłowo obsłużyć przekierowanie, a użytkownik nie widział błędu ERRRESPONSEHEADERSMULTIPLELOCATION.

