Dlaczego podstrony WordPressa wyświetlają 404?

WordPress 404 Not Found
Może się zdarzyć, że instalacja WP przebiegnie pomyślnie, w zapleczu administratora dodacie sobie wpis lub stronę i przy kliknięciu Podejrzyj wszystko będzie w porządku. Po pomyślnym zapisaniu chcecie zobaczyć jak nowy materiał prezentuje się na stronie, a tu… Not found – 404.

W tym wpisie opiszę możliwe przyczyny takiej sytuacji, ale dotyczy to wyłącznie przypadków, w których nie działają tylko tzw. proste adresy. Czyli http://domena.xyz/folder/kategoria/nazwa-wpisu/ nie chce działać, z kolei http://domena.xyz/folder/?p=457 nie sprawia takich problemów.

Zauważyliście, że podane powyżej przykładowe adresy odnoszą się do instalacji WP umieszczonej w podfolderze? A więc nasze przyjazne linki muszą odnosić się do konkretnego folderu, a nie samej domeny.

Brak pliku .htaccess

Może się zdarzyć, że przy przesyłaniu plików przez klienta FTP sam .htaccess nie zostanie wgrany na serwer. Trzeba sprawdzić, czy .htaccess na pewno wyświetla się w katalogu WP, a w razie potrzeby dograć go lub utworzyć ręcznie (zobacz: http://codex.wordpress.org/htaccess). Należy pamiętać, iż sam plik powinien mieć odpowiednie prawa dostępu – 644.

Po pomyślnym utworzeniu .htaccess warto zalogować się do swojego zaplecza i wybrać Ustawienia » Bezpośrednie odnośniki, a następnie zapisać nowe ustawienia według własnego uznania.

Jeżeli jednak rzeczywiście na dysku nie było pliku .htaccess, to proste adresy nie będą działały niezależnie od tego, czy swojego WordPressa zainstalowaliśmy bezpośrednio w naszej domenie czy podkatalogu. Przechodzimy więc do następnej możliwej przyczyny.

Zły RewriteBase

Tu dochodzimy do sedna sprawy – dlaczego właśnie nice urls nie chcą chodzić tylko w podfolderze. Domyślnie w większości plików .htaccess mamy linijkę:

RewriteBase /

Sprawia ona, że oprogramowanie serwera traktuje jako ciąg do zastąpienia wszystko to, co występuje po pierwszym slashu mieszczącym się zaraz pod nazwie domeny. Aby zostawić w spokoju cały domyślny adres strony, zamieniamy powyższą linię kodu na:

RewriteBase /nazwa-folderu/

I analogicznie, jeśli mamy bardzo dużo stron internetowych w ramach jednej domeny, a kłopotliwa kopia WP jest bardzo zagnieżdżona stosujemy coś w stylu:

RewriteBase /folder/podfolder/podfolder-2/

Wtedy bez problemu dla http://domena.xyz/folder/podfolder/podfolder-2/?p=1234 będzie można używać linku http://domena.xyz/folder/podfolder/podfolder-2/kategoria/nazwa-wpisu/ czy http://domena.xyz/folder/podfolder/podfolder-2/2014/08/nazwa-wpisu/ albo dowolnie sformatowanego samodzielnie.

komentarze 24 do “Dlaczego podstrony WordPressa wyświetlają 404?”

  • Pati pisze:

    Jestem niezwykle pod wrażeniem Twoimi umiejętnościami i jak elegancko piszesz.
    Format na Twoim blogu jest świetny. Czy to jest płatny
    szablon, czy też zmodyfikowany pod siebie?
    Tak czy inaczej utrzymuj nadal jakość pisania, to niecodzienne zobaczyć tak fajny blog
    w dzisiejszych czasach. 🙂
    Pati ostatnio opublikował PatiMy Profile

  • infomiasto pisze:

    Dobrze napisane, sam miałem niedawno mnóstwo problemów z brakiem stron. Po zastosowaniu rad jest tego znacznie mniej. Problem szczególnie po przeniesieniu strony.

  • Hania pisze:

    Ja mam z tym problem po zmianie motywu. Za każdym razem, kiedy dokonuję jakichś zmian w Woocommerce albo czyszczę pamięć podręczną, to nie wyświetlają mi się podstrony. To strasznie irytujące i za każdym razem jak coś robię to drżę, czy mi się znowu wszystko wysypie. Każdorazowe zapisywanie ustawień linków jest denerwujące. Ale być może znalazłam przyczynę problemu i może komuś się to przyda. Otóż winna była prawdopodobnie wtyczka, która miała poprawiać strukturę linków produktów na stronie sklepu. Wyłączyłam ją i zrobiłam kilka testów, póki co, chyba jest ok. To chyba taki niepotrzebny bonus od twórcy motywu.

  • I aam now noot certain the place you’re getting your information, however good topic.
    I needs to spend some time studying much
    more or understanding more. Thanks for excellent information I was searching for this info for my mission.
    high class delhi escrorts ostatnio opublikował high class delhi escrortsMy Profile

  • edziia pisze:

    Głupie pytanie może, ale ja cały czas borykam się z tym problemem, i nie wiem gdzie szukać pliku .htaccess?

    • FotoGuzik pisze:

      Plik .htaccess znajduje się na serwerze w folderze, w którym mamy zainstalowanego WordPressa. Foldery te nazywają się różnie, np. “wwwroot” lub “public_html”. Ogólnie folder, w którym powinien znajdować się plik .htaccess rozpoznać możemy po tym, że zawiera on foldery o nazwach “wp-admin”, “wp-content” i “wp-includes”. Jeśli obok tych folderów nie widzimy pliku .htaccess to znaczy, że go nie ma i musimy go utworzyć (np. w notatniku, a następnie wysłać na serwer).
      FotoGuzik ostatnio opublikował Wspomnienie warsztatów fotograficznychMy Profile

  • Mi pomogła rada Romana. Czyli wejście w ustawiania zmiana przyjaznych linków i później powrót do starych ustawień.

  • Antoni pisze:

    W mojej praktyce pierwszy błąd widziałem najczęściej…

  • Jan pisze:

    Od dawna miałem z tym problem. Tworzenie stron to moje hobby i właściwie dopiero się uczę. Zawsze denerwowało mnie to “404”. Teraz rozumiem o co z tym chodzi i jak sobie poradzić. Dzięki!

  • Marcin pisze:

    Bardzo dobrze opisane!Ja nie miałem nigdy takiego problemu z Wordpressem, ale znajomi często zgłaszali mi, że mają podobne perypetie. Sam nie umiałem im pomóc, bo skoro sam nie spotkałem się z tym to nie grzebałem jakoś specjalnie w tym temacie. A teraz podeślę im ten wpis, z pewnością im się przyda podpowiedź.

  • Michał pisze:

    Znalazłem na twoim blogu bardzo wiele ciekawych informacji. Pewne z nich ułatwiły mi działanie w sieci. Gratuluję wiedzy bo jak dla mnie masz ją naprawdę ogromną i to na wysokim poziomie

  • Roman pisze:

    dzięki za informacje jak to wyprostować 🙂

  • Brodata pisze:

    Miałam z tym problem, i musiałam to zlecić, dowiedziałam się że właśnie chodziło o plik httaccess po całej usłudze:P gdybym trafiła na ten art wcześniej oszczędziłabym 50zł 🙂

  • Nico pisze:

    Dzięki wielkie za tak praktyczny artykuł, szukałem przyczyny wystąpienia tego problemu na moim blogu. Dopiero tutaj uzyskałem konkretną pomoc 🙂
    Nico ostatnio opublikował Jak zbudować i powiększyć liste mailingową ?My Profile

  • Ireneusz pisze:

    W sumie nieźle to wszystko jest opisane i chyba nie trzeba już szukać gdzie indziej.

  • Karol Waldk pisze:

    Dzieki za wpis. Mam być szczery nie analizowałem do tej pory tej kwesti w takim zakresie. Musze jednak jeszcze raz pomysleć nad tym.

  • Problem z przepisywaniem adresów często występuje na Home po zmienianie z domyślnego wyświetlania na te ładniejsze adresy. Na innych hostingach się raczej z tym problemem nie spotkałem, a nawet jeśli coś takiego się dzieje, to wystarczy w ustawieniach zmienić na domyślne i zapisać, a po zapisaniu ponownie ustawić na te ładniejsze adresy. WP wtedy nadpisuje stare ustawienia i w 99% przypadków działa. Na Home niestety nie obejdzie się bez modyfikacji plików WordPressa (chyba że coś przez ostatni rok się zmieniło).
    Piotr z CV Szablony Team ostatnio opublikował Infografika CV – Czysta elegancjaMy Profile

  • Kilka dni temu przenosiłem stronę na inny serwer i właśnie taki problem się pojawił. Nie wiedziałem co jest grane, a to właśnie o .htaccess chodziło.

    Dzięki
    Michał Andrzejczak ostatnio opublikował Co do zarabiania przez Internet i sukcesu w mlm ma edukacja?My Profile

  • Łukasz pisze:

    Pomogło i to bardzo. Dzięki!

  • Ksocial pisze:

    Dzięki, miałem ostatnio problem z tym u siebie. Spróbowałem metody opisanej przez Ciebie i póki co wszystko działa jak należy więc mogę polecić twój sposób 🙂

  • Roman pisze:

    Czasami wystarczy przekliknąć w opcjach ustawienia przyjaznych URLi, zmienić je na inne, później przywrócić oczekiwane i stronki zaczynają śmigać.

  • Asia pisze:

    Pomogło również u mnie. Mam nadzieje że problem już nie wróci 🙂

  • WordPress jest dla mnie generalnie bardzo prosty w obsłudze, ale czasami wyskakują mi jakieś dziwne błędy, których w ogóle nie rozumiem. W każdym razie polecam innym ta platformę do blogowania, bo cały panel zarządzania jest bardzo intuicyjny.

  • Anna Guenther pisze:

    Często pojawiał mi się taki błąd. Dziekuję za wyjaśnienie jak sobie z tym poradzić. Na pewno skorzystam z porady i będę już pamiętała co robić w kolejnych takich sytuacjach. Ładny blog – pozdrawiam 🙂

Skomentuj

CommentLuv