3.3.4 Az Apache és a mod_rewrite

Mivel kezdetektől úgy állították be a CakePHP-t, hogy működjön a mod_rewrite-tal, észrevettük, hogy néhány felhasználónak nehézséget okozott, hogy minden simán működjön a saját rendszerükön. Itt van néhány dolog, ami talán segíthet a helyes működés eléréséhez:

  • Engedélyezd a .htaccess felülírását: a httpd.conf fájlban található egy rész, ahol az összes mappa beállításai találhatóak. Nézd meg, hogy az AllowOverride változó All -ra van állítva a megfelelő mappán.
  • Bizonyosodj meg róla, hogy a rendszer httpd.conf állományát módosítod, nem pedig a felhasználó- vagy weboldalspecifikus httpd.conf állományt.
  • Lehetséges, hogy a szükséges .htaccess állomány nem tartalmazza az általad letöltött CakePHP-t. Ilyesmi akkor fordulhat elő, amikor az operációs rendszer megakadályozza a '.'-al kezdődő fájlok másolását. Bizonyosodj meg, hogy a CakePHP példányod SVN-ről töltötted le.
  • Bizonyosodj meg, hogy a mod_rewrite betöltése sikeres! A httpd.conf fájlban valami ilyesmit kell látnod: LoadModule rewrite_module libexec/httpd/mod_rewrite.so (Unix/Linux használók ezen kívül ezt is kell lássák: AddModule mod_rewrite.c). Arról is győződj meg, hogy ezek a sorok nincsenek megjegyzésbe téve, azaz nem # jellel kezdődnek. Indítsd újra az Apache-ot, hoyg az új conf beállítások betöltődjenek.
  • Amennyiben a felhasználó mappája alá telepítetted a Cake-t(http://example.com/~myusername/), módosítanod kell a .htaccess állományt a telepített Cake alapkönyvtárában. Csak add hozzá a "RewriteBase /~myusername/" sort a .htaccess állományhoz.