Skip to main content

WordPress 404-es hiba aloldalaknál – Emberi olvasható URL feldolgozás

Gyakori jelenség WordPress költöztetés vagy új telepítés után, hogy a főoldal tökéletesen betöltődik, ám amint egy menüpontra vagy aloldalra kattintasz, a böngésző 404-es hibát (az oldal nem található) dob. Ez a probléma szinte mindig a keresőbarát URL-ek (permalinks) kezelésével függ össze, és a megoldás attól függ, milyen PHP-futtatási módot használ a tárhelyed.

A legvalószínűbb ok egy hiányzó beállítás

Ha modern, Nginx + FastCGI módban van az oldalad a vezérlőpulton, a hiba forrása nagy valószínűséggel egyetlen kikapcsolt opció.

Az Nginx + FastCGI módnál (1) nem elegendő a WordPress beállításaiban átírni az URL-szerkezetet, a szervernek is tudnia kell, hogyan kezelje ezeket a kéréseket. Ehhez a vezérlőpulton keresd meg a weboldal beállításait, és aktiváld az Emberi olvasható URL-feldolgozás (2) (Human readable URL processing) opciót.

Miért van erre szükség?

Ez a funkció felelős az URL-átírási szabályokért. Nélküle a szerver fizikai könyvtárakat keres a „/kapcsolat” vagy „/rolunk” mögött, amelyek nem léteznek. Bekapcsolásával a rendszer megfelelően irányítja a kéréseket, így a webcímeid nem így néznek majd ki:

oldalam.hu/index.php?id=123

hanem így:

oldalam.hu/kapcsolat

Ez nemcsak esztétikusabb és felhasználóbarátabb, de a SEO (keresőoptimalizálás) egyik legfontosabb alappillére is, hiszen a kereső előnyben részesíti a beszédes webcímeket.

Mi a helyzet, ha sima CGI-t használsz?

Ha a régebbi típusú, sima CGI módban fut az oldalad, az „Emberi olvasható URL-feldolgozás” opció nem jelenik meg, és nem is szükséges.

Ilyen környezetben a 404-es hibát szinte biztosan a .htaccess fájl hiánya vagy hibás tartalma okozza. Ez a fájl mondja meg az Apache szervernek, hogyan kezelje az átirányításokat.

Töltsd le a hivatalos, alapértelmezett .htaccess fájlt a wordpress.org-ról, vagy másold ki a kódot a WordPress dokumentációjából (Codex), hozz létre egy .htaccess nevű fájlt, és töltsd fel a weboldalad gyökérkönyvtárába FTP-n vagy a fájlkezelőn keresztül.

Miért válaszd a FastCGI-t?

Ahol lehetővé tesszük, mindig a FastCGI opciót válaszd!

A modern tartalomkezelő rendszerek, mint a WordPress, Joomla vagy a Drupal erre is lettek optimalizálva. FastCGI módban a PHP  folyamatok kezelése sokkal hatékonyabb, ami érezhetően gyorsabb oldalbetöltést és stabilabb működést eredményez, különösen nagyobb látogatottság esetén. Ha teheted, válts erre a módra a vezérlőpulton, és ne felejtsd el bepipálni a fent említett URL-feldolgozási opciót.

PHP módok és beállítások

Erről külön cikkben írtunk bővebben, az oldal létrehozása után érdemes azt is elolvasni ide kattintva.