Jak naprawić błąd 414 Request-URI Too Large

Błąd 414 Request-URI Too Large pojawia się, gdy Twoja przeglądarka wysyła adres URL, który przekracza maksymalny limit długości URI Twojego serwera. Na witrynach WordPress dzieje się to najczęściej, gdy wtyczka przekazuje wartości filtrów produktów, identyfikatory lub parametry zapytania jako zmienne GET, aż adres URL rozrośnie się ponad to, co akceptuje Apache lub Nginx.

W skrócie: Błąd 414 oznacza, że Twoja przeglądarka wysłała adres URL przekraczający limit długości Twojego serwera. W Apache zwiększ LimitRequestLine; w Nginx podnieś large_client_header_buffers. Jeśli zarządzasz wtyczką WordPress generującą długie adresy URL, przełącz jej przesyłanie danych na POST.

Co powoduje błąd 414?

Błąd 414 występuje, gdy URI — ścieżka adresu URL plus ciąg zapytania — w żądaniu HTTP przekracza skonfigurowane maksimum serwera. Częste wyzwalacze na witrynach WordPress:

  • Długie ciągi zapytań: Wtyczki filtrów WooCommerce lub wyszukiwanie fasetowe, które kodują każdą aktywną wartość filtra w adresie URL.
  • Wtyczki intensywnie korzystające z GET: Wtyczki przekazujące duże ładunki (identyfikatory produktów, dane użytkownika) jako parametry GET zamiast POST.
  • Niski limit serwera: Wartość LimitRequestLine (Apache) lub large_client_header_buffers (Nginx) ustawiona poniżej długości adresów URL Twojej witryny.
  • Duże przesłania formularzy: Formularze kodujące dane w adresie URL zamiast w treści żądania.

Którego rozwiązania potrzebuję?

Objaw Prawdopodobna przyczyna Zalecane rozwiązanie
Błąd pojawia się tylko na stronach z wieloma aktywnymi filtrami Wtyczka przekazuje zbyt wiele parametrów GET Przełącz żądania GET na POST
Błąd pojawia się nawet po skróceniu adresu URL Limit URI serwera jest zbyt niski Podnieś limit Apache lub Nginx
Błąd pojawia się na wszystkich stronach, niezależnie od treści Limit serwera jest globalnie zbyt niski Podnieś limit Apache lub Nginx
Na hostingu współdzielonym bez dostępu SSH Brak bezpośredniego dostępu do konfiguracji Skontaktuj się ze wsparciem hosta, podając dyrektywę

Rozwiązanie: Podnieś limity serwera Apache lub Nginx

Jeśli błąd 414 dotyczy wielu stron lub utrzymuje się po skróceniu adresu URL, limit długości URI Twojego serwera trzeba zwiększyć. Zmiana to pojedyncza dyrektywa w pliku konfiguracyjnym serwera.

Zlokalizuj plik konfiguracyjny serwera

Otwórz swoją witrynę WordPress w przeglądarce, kliknij prawym przyciskiem myszy stronę główną i wybierz Zbadaj.

Opcje badania

W narzędziach deweloperskich przejdź do karty Sieć. Kliknij pierwsze żądanie (adres URL Twojej strony głównej), aby rozwinąć jego nagłówki.

Wyświetlanie nazwy serwera

Spójrz w Nagłówkach odpowiedzi na wiersz Server: — będzie tam Apache, nginx lub nazwa sieci CDN.

Plik nginx.conf w cPanel

Standardowe lokalizacje plików konfiguracyjnych to:

  • Apache 2.4: /etc/apache2/apache2.conf
  • Nginx 1.24+: /etc/nginx/nginx.conf

Dla serwerów Nginx

Przejdź do /etc/nginx/nginx.conf w menedżerze plików lub przez SSH.

Edycja nginx.conf

Znajdź dyrektywę large_client_header_buffers wewnątrz bloku http { }. Dyrektywa przyjmuje dwie wartości: liczbę buforów i ich indywidualny rozmiar. Wartość między 8k a 128k powinna pokryć większość konfiguracji WordPressa — używaj wielokrotności 4k:

large_client_header_buffers 4 16k;
apache2.conf w cPanel

Po zapisaniu przetestuj i przeładuj Nginx:

sudo nginx -t && sudo systemctl reload nginx

Zobacz dokumentację large_client_header_buffers Nginx, aby poznać pełną składnię parametru.

Dla serwerów Apache

Otwórz /etc/apache2/apache2.conf.

Edycja apache2.conf

Wyszukaj dyrektywę LimitRequestLine. Jeśli jej nie ma, dodaj ją na końcu pliku. W naszych testach domyślna wartość LimitRequestLine Apache, wynosząca 8190 bajtów, wystarcza dla większości witryn; zwykle osiągasz limit tylko wtedy, gdy wtyczki filtrów WooCommerce nawarstwiają w adresie URL ponad ~50 aktywnych wartości filtrów. Możesz podnieść ją do 256000 lub więcej, aby wyeliminować błąd 414 — upewnij się, że wartość jest wielokrotnością 2:

LimitRequestLine 256000
WP Staging

Przetestuj swoją konfigurację i zrestartuj Apache:

sudo apachectl configtest && sudo systemctl restart apache2

Zobacz dokumentację LimitRequestLine Apache, aby poznać pełny zakres dozwolonych wartości.

Rozwiązanie: Przełącz żądania GET na POST

Z biletów wsparcia WP STAGING wynika, że najczęstszym wyzwalaczem na hostingu współdzielonym jest wtyczka przekazująca identyfikatory produktów lub parametry filtrów w adresie URL GET — przełączenie na POST rozwiązuje to natychmiast.

Jeśli błąd 414 pojawia się tylko na konkretnych stronach wtyczki — filtrach kategorii WooCommerce, wynikach wyszukiwania fasetowego lub punktach końcowych REST API — wtyczka koduje zbyt wiele parametrów w ciągu zapytania. Żądania POST wysyłają swój ładunek w treści żądania, całkowicie omijając limit długości URI.

Sprawdź ustawienia wtyczki pod kątem opcji oznaczonej jako „filtry oparte na URL", „filtry GET" lub „tryb ciągu zapytania". Jeśli istnieje tryb POST lub AJAX, włącz go. Jeśli nie ma takiego ustawienia, otwórz bilet wsparcia u autora wtyczki i dołącz konkretny adres URL wyzwalający błąd 414.

Dla deweloperów budujących własne integracje z REST API WordPressa — używaj wp_remote_post() dla dużych ładunków zamiast wp_remote_get(). REST API akceptuje żądania POST dla wszystkich operacji zapisu oraz dla własnych punktów końcowych udostępniających metodę POST.

Rozwiązanie: Użyj skracacza adresów URL jako kroku diagnostycznego

Skrócenie adresu URL potwierdza, czy błąd 414 jest spowodowany wyłącznie długością adresu URL. Gdy użytkownik wchodzi na skrócony adres URL, skracacz przekierowuje go do oryginalnego długiego adresu URL bez wysyłania przez przeglądarkę pełnego URI na Twój serwer. Jeśli skrócony adres URL ładuje się poprawnie, problem zostaje potwierdzony jako długość URI. Po potwierdzeniu zastosuj jedno z trwałych rozwiązań powyżej, zamiast polegać na skróconym adresie URL na produkcji.

Przed wprowadzeniem jakichkolwiek zmian w konfiguracji serwera zalecamy wykonanie pełnej kopii zapasowej witryny za pomocą WP Staging. KLIKNIJ TUTAJ, ABY ZAINSTALOWAĆ

Opcja kliknięcia prawym przyciskiem myszy, aby zbadać witrynę

Uwaga: Skrócone adresy URL zaciemniają miejsce docelowe, mogą wygasnąć, jeśli usługa skracacza się zmieni, i nie dają żadnej wartości SEO. Używaj skracania adresów URL wyłącznie do diagnozy — nie jako rozwiązania na produkcji.

Co zrobić, jeśli rozwiązanie nie działa

Przejdź przez tę listę kontrolną, jeśli błąd 414 utrzymuje się po zastosowaniu zmiany konfiguracji serwera.

Plik konfiguracyjny zmieniony, ale wartość nie zadziałała?

  • Apache: uruchom apachectl -t -D DUMP_VHOSTS, aby potwierdzić, który plik konfiguracyjny jest aktywny dla Twojego hosta wirtualnego. Globalna dyrektywa z apache2.conf może zostać nadpisana przez LimitRequestLine w bloku <VirtualHost> wewnątrz /etc/apache2/sites-enabled/.
  • Nginx: uruchom nginx -T | grep large_client_header, aby zobaczyć efektywną scaloną konfigurację. Wartość w bloku server { } nadpisuje globalny blok http { }.

Na hostingu współdzielonym bez dostępu SSH? Skontaktuj się z zespołem wsparcia swojego hosta i podaj dokładną dyrektywę. Dla Apache poproś o LimitRequestLine 256000; dla Nginx o large_client_header_buffers 4 16k. Większość zarządzanych hostingów WordPress może zastosować zmianę na Twoim koncie bez wpływu na cały serwer.

Używasz Cloudflare lub innej sieci CDN? Sieci CDN i odwrotne serwery proxy wymuszają własne limity długości URI niezależnie od Twojego serwera źródłowego. Jeśli CDN zwraca błąd 414, zanim żądanie dotrze do Apache lub Nginx, zmiana konfiguracji serwera nie pomoże. W takim przypadku przełączenie wtyczki z GET na POST jest jedyną realną opcją — sprawdź w dokumentacji CDN jej maksymalną długość adresu URL.

Podsumowanie

Błąd 414 Request-URI Too Large jest spowodowany adresem URL, który przekracza skonfigurowany limit Twojego serwera. Na większości witryn WordPress rozwiązaniem jest albo zwiększenie limitu w apache2.conf lub nginx.conf, albo przełączenie metody żądania wtyczki z GET na POST. Skorzystaj z tabeli decyzyjnej powyżej, aby określić właściwe rozwiązanie dla swojej konfiguracji, a następnie wykonaj kroki dla swojego typu serwera.

Powiązane artykuły

Thomas Maier

Autor: Thomas Maier

You know me as a publisher, developer, or business owner.
Built the largest German platform for word games and crosswords.
Built the popular Advanced Ads WordPress plugin to effectively monetize websites.
Currently back to the roots developing the Image Source Control plugin for WordPress to manage image attributions, captions, and cleaning up the media library.