Błąd 404 po zmianie formatu odnośników

Domyślny format linków w WordPressie nie jest przyjazny ani dla użytkowników, ani dla wyszukiwarek – dlatego jedną z pierwszych rzeczy, jakie należy zrobić po utworzeniu nowej strony, jest jego zmiana. Można to zrobić w sekcji Ustawienia → Bezpośrednie odnośniki panelu administracyjnego.

Jednak czasem zdarza się, że po zmianie formatu linków próba otwarcia dowolnej podstrony naszego serwisu kończy się błędem 404 (nie znaleziono strony). Najczęstszą przyczyną takich problemów jest niemożliwość zapisania przez WordPressa zmian w pliku .htaccess. Na szczęście bardzo łatwo to naprawić.

Ten wpis jest częścią cyklu Pierwsze kroki, skierowanego do najbardziej początkujących użytkowników WordPressa i poruszającego podstawowe zagadnienia związane z obsługą tego CMSa.

Zmiana formatu odnośników wiąże się z koniecznością zmodyfikowania przez WordPressa pliku .htaccess naszego serwisu, dzięki któremu linki te będą działały. Przykładowo, jeśli zdecydujemy aby nasze linki zawierały tytuł wpisu lub strony, to link do strony „O nas” będzie wyglądał tak: http://moja-strona.pl/o-mnie/. Domyślnie serwer otrzymując taki adres URL będzie szukał w katalogu głównym naszej domeny folderu o-mnie, którego oczywiście tam nie ma (i być nie powinno). Reguły zawarte w pliku .htaccess mówią serwerowi co ma w takim przypadku zrobić – na przykład przekierować żądanie do pliku index.php WordPressa, w którym znajdują się mechanizmy do obsługi takich adresów.

Modyfikacja .htaccess odbywa się podczas zapisywania zmian ustawień w sekcji Ustawienia → Bezpośrednie odnośniki. Problem w tym, że WordPress ukrywa informację o nieudanej modyfikacji tego pliku. Znajduje się ona na samym dole strony ustawień odnośników, w miejscu, który zwykle nie jest od razu widoczne na monitorze (trzeba przewinąć stronę). Po zapisie pojawia się wprawdzie komunikat Teraz należy zaktualizować plik .htaccess., ale z doświadczenia wiem, że większość osób go po prostu przegapia (nie ma on formy komunikatu o błędzie).

Błąd aktualizacji .htaccess

Problem ten można rozwiązać na dwa sposoby. Najczęściej jest on spowodowany przez nieprawidłowe uprawnienia katalogu, w którym zainstalowaliśmy WordPressa, lub samego pliku .htaccess. Katalog powinien mieć uprawnienia 755, a plik 644. Można to sprawdzić logując się do serwera przez FTP – każdy klient FTP posiada funkcję modyfikacji uprawnień. Gdy już naprawimy uprawnienia, możemy ponownie spróbować zapisać zmiany w ustawieniach odnośników.

Drugim sposobem jest ręczna aktualizacja pliku .htaccess. W tym celu musimy zalogować się do serwera przez FTP, otworzyć plik, podmienić jego zawartość kodem znajdującym się w polu umieszczonym pod komunikatem o błędzie w zapisie, a następnie zapisać zmodyfikowany plik. Operację tę będziemy musieli powtórzyć po każdej zmianie formatu odnośników.

O ile pierwsza metoda może być nieskuteczna w przypadku niektórych serwerów, o tyle druga zadziała w każdym przypadku.

Bezpośredni link