IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

Ajout de controller: erreur 404 [ZF 1.5]


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 4
    Par défaut Ajout de controller: erreur 404
    Bonjour a vous,

    Je suis debutant sur Zend Framework et j'ai un probleme: je n'arrive pas a ajouter de controller.

    Voici mes repertoires:

    -> application
    -> controllers
    IndexController.php
    ArticlesController.php
    AdminController.php
    SourcesController.php
    -> views
    ->helpers
    BaseUrl.php
    ->scripts
    ->index
    index.phtml
    inscrire.phtml
    ->admin
    index.phtml
    ->sources
    index.phtml
    ->models
    config.ini
    Le controller Index marche tres bien, ainsi que ses actions. Neanmoins, les liens http://localhost/CNX/admin et http://localhost/CNX/sources ne fonctionnent pas (404 Not Found).

    Voici mon htaccess:

    SetEnv APPLICATION_ENV development

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ /CNX/index.php [NC,L]

    # Sécurité : Ne pas autoriser le parcours de répertoires
    Options -Indexes

    # Configuration PHP
    php_flag magic_quotes_gpc off
    php_flag register_globals off
    php_flag short_open_tag on
    Voici mon bootstrap.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
    error_reporting(E_ALL|E_STRICT);
    ini_set('display_errors', 1);
    date_default_timezone_set('Europe/Paris');
     
    // mise en place des répertoires et chargement des classes                                                                                                                                                     
    set_include_path('.'
        . PATH_SEPARATOR . './library'
        . PATH_SEPARATOR . './application/models/'
                     . PATH_SEPARATOR . get_include_path());
    include "Zend/Loader.php";
    Zend_Loader::registerAutoload();
     
    //BDD                                                                                                                                                                                                          
    $config = new Zend_Config_Ini('./application/config.ini', 'general');
    $registry = Zend_Registry::getInstance();
    $registry->set('config', $config);
     
     
    // Mise en place de la BDD                                                                                                                                                                                     
    $db = Zend_Db::factory($config->db);
    Zend_Db_Table::setDefaultAdapter($db);
     
    // setup controller                                                                                                                                                                                            
    $frontController = Zend_Controller_Front::getInstance();
    $frontController->throwExceptions(true);
    $frontController->setControllerDirectory('./application/controllers');
    Zend_Layout::startMvc(array('layoutPath'=>'./application/layouts'));
    $frontController->setBaseUrl('/CNX/');
     
    // run!                                                                                                                                                                                                        
    $frontController->dispatch();
    Un petit coup de main ne serait pas de refus, je n'y comprends plus rien.

    Merci bien!

    (Desole pour les accents, j'ai un qwerty).

  2. #2
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Une erreur 404, un contrôleur par défaut qui fonctionne et les autres qui ne fonctionnent pas... Ca sent le problème de réécriture d'URL.

    Pourtant la réécriture doit être activée puisque tu arrives à lister toutes les actions de ton contrôleur par défaut...

    A quel endroit est situé ton .htaccess ?
    Quelles sont les url complètes qui fonctionnent ?

    Regardes le log d'apache, tu y verras peut-être quelle adresse il n'arrive pas à résoudre...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 4
    Par défaut
    Le .htaccess est dans le repertoire parent du repertoire applications. Il est donc ici: localhost/CNX/.

    Les URL qui fonctionnent:

    http://localhost/CNX
    http://localhost/CNX/index
    http://localhost/CNX/index/index
    http://localhost/CNX/index/inscrire

    Les autres sont des 404.

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Qu'est-ce qu'il y a dans le log d'apache ?

    Si tu n'y vois rien d'intéressant, active le log du module rewrite en ajoutant ces lignes dans le httpd.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteLogLevel 4
    RewriteLog "/chemin/vers/ton/fichier/rewrite.log"
    Redémarres ensuite apache et teste une url qui donne une erreur 404

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 4
    Par défaut
    Rien d'interessant dans les logs d'apache.

    J'ai mis le code que tu m'as donne, et apache refuse de demarrer :s sans ces 2 lignes il fonctionne.

    Merci de ton aide

  6. #6
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par Nitlav Voir le message
    Rien d'interessant dans les logs d'apache.

    J'ai mis le code que tu m'as donne, et apache refuse de demarrer :s sans ces 2 lignes il fonctionne.
    Après un petit test, il ne faut pas mettre les guillemets sous windows

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Framework] Mapping url controller: erreur 404
    Par noumedem dans le forum Spring
    Réponses: 4
    Dernier message: 20/09/2013, 11h10
  2. [SP-2007] Erreur 404 après ajout d'un nouvel element dans une liste
    Par peyrard dans le forum SharePoint
    Réponses: 6
    Dernier message: 26/10/2011, 18h20
  3. Validité d'un controller - ACL & erreur 404
    Par {Anthony} dans le forum Zend_Acl & Zend_Auth
    Réponses: 1
    Dernier message: 09/05/2008, 20h07
  4. [struts][tomcat]erreur 404 suite à un forward
    Par minique dans le forum Struts 1
    Réponses: 3
    Dernier message: 06/09/2004, 10h11
  5. Check Url pour savoir si erreur 404 ou si le site existe
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo