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.