Bon, je suis debutant, mais j'ai mis aujourd'hui meme mon site en ligne et j'ai eu moi aussi des problemes de lecture des controller.
Deja, tu devrais peut etre revoir ton archi. histoire de ne pas exposer tes dossiers app et lib.
A partir de la "racine" du serveur), j'ai structuré comme ceci :
app/ --> le dossier app (code de l'application)
lib/ --> le dossier lib (librairie cakePHP - a remplacer pour les mises a jour)
www/-------> le contenu du webroot de ton application
le fichier .htaccess de la base (pour ma pomme "RewriteRule (.*) app/webroot/$1 [L]" générait une erreur 500, je ne l'ai pas mis)
le fichier index.php
Ensuite, tu modifies le index.php du www pour ajouter le chemin absolut du serveur (si tu ne l'a pas, il te suffit de creer un fichier genre cheminserveur.php contenant un php_info et de le lancer par l'adresse). Tu renseigne aussi le nom du repertoire APP
}
/**
* These defines should only be edited if you have cake installed in
* a directory layout other than the way it is distributed.
* When using custom settings be sure to use the DS and do not add a trailing DS.
*/
/**
* The full path to the directory which holds "app", WITHOUT a trailing DS.
*
*/
if (!defined('ROOT')) {
define('ROOT', 'ici_le_chemin_absolue_de_ton_serveur'); <---------- du genre DS . 'home'. DS . 'ton_serveur'
}
/**
* The actual directory name for the "app".
*
*/
if (!defined('APP_DIR')) {
define('APP_DIR', 'app'); <----------
}
Les autres .htaccess ne changent pas :
dans le www :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
dans app :
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
Voila, j'espere avoir repondu a ta question