Dość zabawnie, kody błędów HTTP są jednocześnie niezwykle użyteczne i niesamowicie frustrujące.
Widząc błąd podczas ładowania strony, jest jasne, że coś poszło nie tak z witryną — Ale większość z nas nie ma bladego pojęcia, co oznacza “405 Method Not Allowed”, a co dopiero jak to naprawić.
Dlatego napisaliśmy ten poręczny przewodnik! Błąd 405 nie jest powodem do paniki; wystarczy wykonać kilka kroków, aby przywrócić Twoją stronę do działania.
Na następnych stronach wyjaśnimy, czym jest ten błąd i pokażemy, jak sprawić, aby zniknął.
Co to jest błąd 405 Method Not Allowed?
Błąd 405 to rodzaj kodu statusu HTTP — oznacza to, że jest to komunikat, który serwer wysyła do Twojej przeglądarki internetowej, wyjaśniając, dlaczego nie może dostarczyć żądanej treści.
Serwer
Serwer to komputer, który przechowuje dane. Serwer internetowy to typ serwera, który przechowuje i dostarcza strony internetowe użytkownikom. Serwery internetowe są połączone z internetem i używają protokołu HTTP do wysyłania stron internetowych do użytkowników, którzy ich żądają.
Czytaj więcejStały kod statusu 405 jest problemem dla każdego, kto prowadzi stronę internetową. Jeśli wielu użytkowników widzi ten sam błąd, oznacza to, że na Twojej stronie jest coś źle skonfigurowane.
Dopóki nie rozwiążesz problemu, odwiedzający nie będą mogli uzyskać dostępu do strony, na której wyświetlany jest kod błędu.
Ten kod błędu może się pojawić jako:
- 405 Metoda niedozwolona
- 405 Niedozwolone
- Metoda niedozwolona
- Błąd HTTP 405
- Błąd HTTP 405 – Metoda niedozwolona
- HTTP 405 Metoda niedozwolona
Co powoduje błąd 405?
Zacznijmy od bardziej technicznych zagadnień.
Zawsze, gdy próbujesz odwiedzić określoną stronę internetową, Twoja przeglądarka zwraca się do serwera hostingowego o wysłanie treści. Zazwyczaj serwer widzi to żądanie i wysyła stronę bezpośrednio na Twoje urządzenie w ułamku sekundy. Sukces!
Cały ten proces jest regulowany przez HTTP, czyli Protokół Przenoszenia Hipertekstu. Protokół ten używa serii kodów stanu do śledzenia postępów i problemów.
Kody w przedziale 400 dotyczą błędów po stronie klienta. Natomiast kod błędu 405 Method Not Allowed oznacza, że Twoja przeglądarka wysłała żądanie HTTP (GET, POST, PUT, itd.), które nie jest dozwolone dla tego konkretnego zasobu lub URL.
W wielu przypadkach jest to wywołane przez coś, co robi użytkownik. Najczęstszą przyczyną jest wprowadzenie błędnego adresu URL.
Jednakże, kod błędu 405 może również pojawić się, gdy coś poszło nie tak z konfiguracją Twojej strony internetowej. Zajmiemy się niektórymi z tych problemów później.
Jaka jest różnica między błędami 404 a 405?
Błędy 404 i 405 uniemożliwiają użytkownikom dostęp do treści na Twojej stronie internetowej, ale odnoszą się do różnych problemów.
Kod błędu 404 pojawia się, gdy ktoś odwiedza adres URL, gdzie nie istnieje żaden kontekst. Na przykład, zdarza się to czasami, gdy strony są usuwane lub domeny są zmieniane.
W przeciwieństwie do tego, błąd 405 oznacza, że Twój serwer odrzuca żądanie HTTP z przeglądarki. Zawartość istnieje, ale serwer odmawia dostępu, ponieważ żądanie zostało złożone w złym formacie.
Jak naprawić błąd 405 Method Not Allowed
Zrozumienie przyczyn błędu 405 jest ważnym krokiem w rozwiązaniu problemu.
Jednak ten kod statusu nie informuje nas dokładnie, co jest nie tak. Jedynym sposobem na zidentyfikowanie dokładnego problemu jest rozwiązywanie problemów.
Gotowy, aby zacząć? Oto lista potencjalnych rozwiązań:
1) Sprawdź Swoje Linki
Kiedy napotkasz błąd 405 na stronie, istnieje duże prawdopodobieństwo, że po prostu odwiedziłeś złą stronę.
Ze względów bezpieczeństwa, serwery internetowe są zwykle konfigurowane tak, aby akceptować tylko określone typy żądań na każdym adresie URL. Jeśli odwiedzisz stronę, która nie jest otwarta dla publicznego dostępu, możesz zobaczyć komunikat o błędzie 405.
Jeśli odwiedzający Twoją stronę regularnie widzą kody błędów 405, może to być spowodowane tym, że podążają za złym linkiem.
Jednym ze sposobów zapobiegania temu jest sprawdzenie Twojej strony za pomocą Dead Link Checker lub podobnego darmowego narzędzia. Upewnij się także, że żadne z Twoich linków społecznościowych i stron docelowych nie kierują do prywatnych stron.
2) Sprawdź swoje aktualizacje
Czy zaktualizowałeś ostatnio swój system zarządzania treścią, motyw lub nawet wtyczkę? To może być przyczyna, dlaczego nagle pojawiają się komunikaty o błędzie 405 Method Not Allowed.
Aktualizacje są niezbędne dla utrzymania dobrej bezpieczeństwa strony internetowej. Mogą również naprawiać istniejące błędy i dawać dostęp do nowych funkcji. Jednak czasami, nowe aktualizacje wprowadzają nowe problemy.
Jeśli nie jesteś pewien, czy należy dokonać aktualizacji, zaloguj się na swoje konto administratora i przejdź do Panel > Aktualizacje. Tutaj zobaczysz znacznik czasu ostatniego sprawdzenia przez WordPress dostępności aktualizacji. W razie potrzeby możesz kliknąć „Sprawdź ponownie”, aby ręcznie sprawdzić dostępność aktualizacji.
Niestety, czasami aktualizacja może uszkodzić Twoją stronę internetową. Aby to naprawić, możesz po prostu cofnąć się do poprzedniej wersji systemu, motywu lub pluginu, który może powodować problemy.
Dokładny proces tutaj zależy od tego, co musisz obniżyć. Na przykład użytkownicy WordPressa mogą użyć wtyczki WP Downgrade, aby powrócić do poprzedniej wersji.
Dla niektórych stron internetowych najprostszą metodą jest po prostu przywrócenie całej strony z kopii zapasowej — zobacz krok 10, aby dowiedzieć się więcej.
Jak obniżyć wersję wtyczek i motywów WordPress
Jeśli uważasz, że konkretny motyw lub plugin jest przyczyną problemu, zalecamy użycie pluginu WP Rollback. Po aktywacji daje to możliwość obniżenia wersji dowolnego zainstalowanego pluginu lub motywu.
Po prostu otwórz Plugins > Installed Plugins lub Appearance > Themes w obszarze Administracyjnym WordPressa, a zobaczysz mały przycisk „Rollback” pod każdym pluginem lub motywem.
Kliknij to, a WP Rollback umożliwi ci wybór dokładnej wersji, którą chcesz przywrócić.
Po zakończeniu obniżania planu, upewnij się, że klikniesz Aktywuj na pluginie lub motywie, aby uruchomić starszą wersję.
3) Odinstaluj nowe Plugins, moduły i motywy
Tak jak aktualizacje istniejących wtyczek i motywów mogą namieszać, tak samo mogą zrobić nowo dodane elementy na Twojej stronie.
Z tym na uwadze, warto dezaktywować nowe wtyczki, moduły i motywy, jeśli zaczniesz zauważać na swojej stronie błędy 405 Method Not Allowed.
Jeszcze raz, proces tutaj będzie zależał od systemu zarządzania treścią, którego używasz.
W WordPress, możesz to zrobić przez obszar Admina. Przejdź do Plugins lub Appearance > Themes, a powinieneś zobaczyć mały czerwony przycisk Dezaktywuj obok każdego pluginu i motywu.
Nie jesteś pewien, który plugin powoduje problem? Możesz wyłączyć wszystkie swoje pluginy w ciągu minuty za pomocą FTP lub SSH:
- W swoim kliencie FTP/SSH przejdź do katalogu swojej strony WordPress
- Nawiguj do wp-content i kliknij prawym przyciskiem myszy na Plugins
- Wybierz Zmień nazwę
- Zmień nazwę folderu na /plugins_OFF
To natychmiastowo wyłączy wszystkie pluginy. Gdy zechcesz odwrócić proces, po prostu wykonaj kroki ponownie i zmień nazwę folderu na plugins.
Jeśli chcesz usunąć motywy przez FTP/SSH:
- Odwiedź katalog swojej strony
- Przejdź do katalogu wp-content/themes.
- Usuń folder motywu, który chcesz usunąć
Pamiętaj, że warto zrobić kopię zapasową tego folderu, na wypadek gdyby motyw nie był winny.
4) Przywróć swoją bazę danych
Wtyczki i motywy zazwyczaj wymagają przynajmniej częściowego dostępu do twojej bazy danych, aby wykonywać swoje zadania.
Czasami stają się trochę niesforne i zaczynają wprowadzać zmiany w częściach bazy danych, które nie są ich sprawą. Te zmiany mogą powodować błędy 405.
Baza Danych
Baza danych to zbiór informacji dostępnych dla komputerów. Bazy danych służą do przechowywania informacji takich jak dane klientów, katalogi produktów oraz transakcje finansowe.
Czytaj więcejNawet jeśli usuniesz problematyczny plugin lub motyw, wprowadzone przez nie zmiany pozostaną. Istnieją tylko dwa sposoby na rozwiązanie tych problemów:
- Przejrzyj logi bazy danych w poszukiwaniu problematycznych zmian
- Przywróć poprzednią wersję bazy danych
Logi Bazy Danych
Aby uzyskać dostęp do logów bazy danych dla Twojej strony internetowej, przejdź do panelu kontrolnego Twojego dostawcy hostingu. Zazwyczaj będziesz mógł uzyskać dostęp do logów tylko jeśli masz prywatny serwer.
Dla baz danych hostowanych w DreamHost, przejdź do MySQL Databases aby znaleźć nazwę swojej MySQL Databases, a następnie skontaktuj się z wsparciem technicznym, aby uzyskać dostęp.
Jeśli wiesz dokładnie, kiedy zaczęły pojawiać się błędy 405, możesz być w stanie znaleźć przyczynę w zmianach bazy danych, sortując logi według czasu. Szukasz zmian “INSERT”, “UPDATE” lub “DELETE”.
Bądź świadomy, że potrzebujesz solidnej wiedzy z zakresu rozwoju stron internetowych, aby zidentyfikować potencjalne problemy tutaj. Jeśli nie jesteś pewien, na co patrzysz, unikaj wprowadzania modyfikacji i skonsultuj się z profesjonalistą.
Przywróć swoją bazę danych
Jeśli nie posiadasz umiejętności na poziomie programisty, przywrócenie bazy danych do poprzedniej wersji jest prawdopodobnie bardziej realistyczną opcją.
Tak jak w przypadku danych strony, DreamHost automatycznie tworzy kopię zapasową Twojej bazy danych każdego dnia. Aby przywrócić jedną z tych kopii zapasowych:
- Odwiedź stronę Bazy danych MySQL na swoim koncie
- Kliknij przycisk Przywróć bazę danych po prawej stronie swojej bazy danych
- Wybierz czas kopii zapasowej, którą chcesz przywrócić
- W sekcji Podczas przywracania, wybierz opcję 3 lub 4 w zależności od twojego CMS; wybierz opcję 4 dla WordPress
5) Przeczytaj swoje logi serwerowe
Tak samo jak twoje logi bazy danych mogą ujawnić problemy prowadzące do błędów 405, możemy również znaleźć wskazówki w logach serwerowych.
Pliki, których szukamy, są nazwane error.log i access.log. W DreamHost możesz przeglądać je przez SFTP (Secure File Transfer Protocol):
- W swoim kliencie FTP odwiedź katalog /logs w folderze użytkownika
- Otwórz stronę, którą chcesz sprawdzić
- Otwórz najnowszy katalog, którego nazwa zaczyna się od http
- Otwórz plik logów wewnątrz, używając preferowanego edytora tekstu
Kiedy badasz pliki, sprawdź błędy związane z konfiguracją serwera lub zmianami w kodzie aplikacji internetowej.
6) Potwierdź Konfigurację Swojego Serwera WWW
Jak wspomnieliśmy wcześniej, błąd 405 Method Not Allowed występuje, gdy serwer sieciowy odrzuca żądanie.
Większość czasu jest to pomocne. Gdyby Twój serwer nie blokował pewnych metod żądania, Twoja strona mogłaby być łatwo przytłoczona niechcianą uwagą.
Ale tak jak nadgorliwy bramkarz w klubie, czasami serwery internetowe blokują niewłaściwe rodzaje żądań lub niewłaściwie ograniczają dostęp do pewnych treści. Jest to zazwyczaj spowodowane błędną konfiguracją serwera. Skutkiem tego jest przekierowanie odwiedzających na stronę błędu.
Aby dowiedzieć się, czy to jest problem z Twoją stroną, musisz odwiedzić plik konfiguracyjny serwera. Dokładna nazwa pliku zależeć będzie od tego, czy Twoje oprogramowanie serwera sieciowego to Apache, Nginx, czy Cloudflare.
Domyślnie używamy Apache w DreamHost, więc szukasz pliku .htaccess w katalogu głównym Twojej strony. W planach VPS masz możliwość przełączenia na hosting Nginx; w takim przypadku plik konfiguracyjny to nginx.conf.
Po znalezieniu odpowiedniego pliku otwórz go za pomocą wybranego edytora tekstu. Następnie wyszukaj komendy przepisywania. Są one związane z modułem mod_rewrite Apache.
Ten moduł pozwala modyfikować adresy URL, które są żądane przez użytkowników, zanim zostaną przetworzone przez Twój serwer. Może to być przydatne, gdy chcesz przekierować użytkowników na inną stronę, przekierować określone rodzaje ruchu lub po prostu wyświetlić bardziej przyjazny adres URL.
Problemy zazwyczaj dotyczą poleceń takich jak te w pliku konfiguracyjnym:
RewriteRule ^(.*)$ http: //example.com [R=405, L]
To sprawia, że serwer zwraca kod stanu odpowiedzi HTTP 405, gdy ktoś odwiedza podany w poleceniu URL.
Jeśli masz problemy z ciągłymi błędami, spróbuj zakomentować takie polecenia w pliku konfiguracyjnym. Możesz to zrobić, dodając # na początku linii, którą chcesz zakomentować.
Alternatywnie, możesz zmienić dyrektywę z RewriteEngine ON na RewriteEngine OFF.
7) Napraw Uprawnienia Plików
Kolejnym powodem, dla którego serwer może blokować dostęp do pewnych treści, jest błędna konfiguracja uprawnień witryny.
Na przykład Twój serwer może pozwalać administratorowi na użycie określonej metody HTTP. Jednak kiedy zwykły odwiedzający stronę próbuje zrobić to samo, zostaje zablokowany i otrzymuje kod błędu.
Najszybszym sposobem na sprawdzenie i zarządzanie uprawnieniami jest zazwyczaj korzystanie z panelu. Użytkownicy DreamHost mogą korzystać z wbudowanego menedżera plików:
- Odwiedź Zarządzaj Stronami i naciśnij przycisk Zarządzaj
- Otwórz katalog dla swojej strony
- Aby zobaczyć uprawnienia, kliknij prawym przyciskiem myszy na dowolny plik i wybierz CHMOD
Możesz odkryć, że jeden z Twoich ważnych plików nie ma publicznego dostępu do odczytu.
Jeśli prowadzisz własny prywatny serwer lub VPS, warto również sprawdzić ustawienia konfiguracyjne. Twój serwer może być skonfigurowany tak, aby akceptować tylko określone metody żądania HTTP dla konkretnych typów plików.
8) Debuguj swój kod
Ostatecznie przyczyną błędów 405 może być coś nie tak z kodem Twojej strony internetowej lub aplikacji webowej.
Aby zdiagnozować takie problemy, musisz przestrzegać pełnego procesu rozwiązywania problemów. Zazwyczaj obejmuje to stworzenie kompletnej lokalnej kopii Twojej strony internetowej, a następnie próbę odtworzenia błędu. Alternatywnie, możesz użyć środowiska rozwoju online.
Dokładny proces, którego będziesz musiał przestrzegać, zależy od używanego CMS, skryptów i języków programowania. Jeśli Twoja strona działa na WordPressie i jesteś pewny swoich umiejętności w linii poleceń, możesz spróbować użyć WP-CLI.
9) Przywróć Całą Swoją Stronę
Czasami w życiu trzeba wiedzieć, kiedy przyjąć porażkę i, jak mówią dzieci, „przyjąć L”.
Jeśli próbowałeś innych rozwiązań i nic nie pomaga, być może będziesz musiał przywrócić swoją stronę do stanu sprzed pojawienia się błędów klienta.
Gdy hostujesz jakąkolwiek stronę z DreamHost, zawsze zalecamy wykonywanie regularnych kopii zapasowych i przechowywanie ich kopii offline. Jednakże zachowujemy codzienne kopie zapasowe każdej strony, która jest hostowana na naszych serwerach.
Hosting Chmurowy
Tradycyjny hosting umieszcza stronę internetową na fizycznym serwerze. Z drugiej strony, u201chosting chmurowyu201d wykorzystuje wiele wirtualnych (zdalnych) serwerów do tego samego zadania.
Czytaj więcejTo oznacza, że możesz przywrócić swoją stronę do stanu z wczoraj za pomocą kilku kliknięć.
Aby to osiągnąć, przejdź do Hosted Domains i kliknij przycisk Przywróć po prawej stronie.
Następnie wybierz, jak daleko w czasie chcesz się cofnąć, i wybierz opcję „Uczynić kopię zapasową na żywo”. Spowoduje to zastąpienie Twojej obecnej strony na żywo wybraną kopią zapasową.
Jeśli korzystasz z DreamPress, możesz przeprowadzić ten sam proces, odwiedzając Zarządzany WordPress i klikając przycisk Zarządzaj obok swojej domeny.
Następnie wybierz zakładkę Kopie zapasowe i kliknij Przywróć na archiwalnej wersji, której chcesz użyć. Potwierdź za pomocą Rozpocznij przywracanie, a Twoja strona wkrótce powróci do stanu sprzed wystąpienia błędu 405.
10) Dokładnie sprawdź swoje rekordy A
Ostateczna rada: upewnij się, że rekordy A dla Twojej domeny są prawidłowo skonfigurowane.
W niektórych przypadkach możesz zobaczyć błędy 405, jeśli twoje rekordy A wskazują na niewłaściwy serwer. Na przykład serwer, który jest skonfigurowany do hostingu twojej strony internetowej, może mieć inne zasady niż serwer skonfigurowany do hostingu API (Application Programming Interface).
Jeśli Twoja domena jest zarejestrowana lub zarządzana przez DreamHost, możesz sprawdzić swoje rekordy A, odwiedzając Zarządzaj stronami:
- Dotknij trzy kropki
- Wybierz DNS Settings z menu
Bonus: Zatrzymaj błędy 405 w Twoich wywołaniach API
Jeśli twoja strona polega na połączeniu z zewnętrznym API, możesz napotkać błąd 405, ponieważ serwer API odrzuca twoje żądanie. Jest to często spowodowane nieprawidłowym formatowaniem żądania.
Aby temu zapobiec, upewnij się, że dołączasz nagłówek “Content-Type” do swoich żądań POST. Oto kilka przykładów:
- Java/PHP – Content-Type: application/json
- HTML – Content-Type: text/html; charset=UTF-8
- XML – Content-Type: application/xml
Jest również dobrym pomysłem dołączenie nagłówka „Accept”:
- Java/PHP – Akceptuj: application/json
- HTML – Akceptuj: text/html
- XML – Akceptuj: application/xml
Upewnij się, że sprawdziłeś również dokumentację API. Możesz odkryć, że rodzaj żądania, które wykonujesz, nie jest obsługiwany przez API. Podobnie, logi Twojej strony lub aplikacji mogą ujawnić problem leżący u podstaw.
Jak zapobiegać powrotowi błędu 405
Przejście przez wszystkie wspomniane wyżej kroki to nie lada zadanie. Ale jeśli jesteś gotów włożyć w to wysiłek, powinieneś móc wyeliminować wszystkie błędy 405, które pojawiają się na Twojej stronie lub aplikacji.
Chcesz mieć pewność, że nie przejdziesz przez to wszystko jeszcze raz? Oto kilka kluczowych wskazówek:
- Testuj swoją stronę – Za każdym razem, gdy instalujesz nowe pluginy lub motywy, upewnij się, że przeprowadzasz kilka testów. Jeśli zmiana ma powodować błędy 405, dobrze jest wiedzieć o tym wcześnie!
- Zwracaj uwagę na uwierzytelnianie – Zawsze kontroluj, kto ma dostęp do jakich zasobów na Twoim serwerze.
- Pomagaj użytkownikom w rozwiązywaniu problemów – W większości przypadków błędy 405 dotyczą konkretnego użytkownika. Rozważ ustawienie niestandardowych stron błędów, które zawierają informacje o tym, jak użytkownicy mogą sami rozwiązać problem.
Z odrobiną wytrwałości możesz raz na zawsze pokonać błąd 405 i zapewnić bezproblemowe przeglądanie treści dla swoich gości!