Bonsoir,

J'ai un site fonctionnant avec CakePHP 3 dans un dossier 'website' (/website) et j'ai postfixdmin dans un dossier postfixadmin (/postfixadmin). Les deux répertoires sont au même niveau. Le problème c'est que lorsque j'essaye d'accéder à postfixadmin (en faisant http://mondomaine.com/postfixadmin/) il me dit qu'il ne connait pas le controller postfixadmin...

Pouvez-vous m'aider s'il vous plait ? Je suis sous debian 8.1 et nginx...

Merci :)

5 réponses


Xeta
Réponse acceptée

Hello,

C'est normal. Il faut le mettre dans le dossier webroot. Mais bon, pas trop recommendé d'utiliser 2 sites au même niveau..

Bonjour,
Pour faire fonction, il faut modifier les routes :

Router::prefix('admin',function($routes){
// urls du backend
});

et modifier les namespace de tes controller qui son dans un dossier controllers/Admin/

namespace App\Controller\Admin
use App\Controller\Admin\AppController;

Tu créer un fichier AppController dans le dossier Admin. Car tout les controller qui son dans ce dossier Admin vont hériter de ce controller. Tu peut facilement controller l'accès à certain utilisateurs qui on le rôle admin dans ta basse de donnée par exemple.

Pour les vue il faut que tu créer aussi un dossier Admin
EX : /Templates/Websites/Admin/ma_vue.ctp

Moi j'ai fait ceci et ça fonctionne très bien.

Cordialement musicalitymaker

Gofast77
Auteur

Merci de ta réponse mais ça ne correspond pas à mon problème... Mon problème c'est que CakePHP 3 "interfère" avec un autre site présent sur mon serveur ;)

Oh ok je pensais que le dossier "website" était un dossier dans ton projet.

Gofast77
Auteur

Non c'est le dossier dans lequel j'ai mis mon projet ;)