CodeIgniter routage ne fonctionne pas

J'ai des problèmes avec mon routage. Mon contrôleur par défaut (mysite.com) de travail, mais si je tente quoi que ce soit (par ex. mysite.com/dashboard), il va à un serveur de base de 404, pas un CodeIgniter. Il est très déroutant, car pour le moment je n'ai que 2 chemins dans mon routes.php fichier. Voici les non-sections commentées de mon routes.php fichier:

$route['404_override'] = '';

$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';

Mon contrôleur est situé dans /application/controllers/pages.php.

Je ne pense pas que ses un .htaccess question (qu'il peut obtenir pour le contrôleur par défaut), mais c'est mon .htaccess:

RewriteEngine On
RewriteCond $1 !^(index\.php|styles|scripts|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1

#<IfModule mod_gzip.c>
#    mod_gzip_on       Yes
#    mod_gzip_dechunk  Yes
#    mod_gzip_item_include file      \.(html?|txt|css|js|php|pl)$
#    mod_gzip_item_include handler   ^cgi-script$
#    mod_gzip_item_include mime      ^text/.*
#    mod_gzip_item_include mime      ^application/x-javascript.*
#    mod_gzip_item_exclude mime      ^image/.*
#    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
#</IfModule>

Modifier

Ici est le contrôleur pages:

<?php

        class Pages extends CI_Controller {

        public function __construct()
        {       
                //Construct it's parent
            parent::__construct();

            //Check login
            //$this->load->model('pages_model');
        //$this->pages_model->getLoginStatus();

    }


    public function view($page = 'dashboard')
    {

        //If the file doesn't exist
        if ( ! file_exists('/var/www/vhosts/mysite/httpdocs/library/application/views/pages/'.$page.'.php'))
        {
            //Whoops, we don't have a page for that!
            show_404();
        }       

        $data['title'] = ucfirst($page); //Capitalize the first letter

        //Load all necessary views
        $this->load->view('templates/head', $data); 
        $this->load->view('templates/header', $data);
        $this->load->view('pages/'.$page, $data);
        $this->load->view('templates/footer', $data);

    }

}

?>
Question stupide mais, la méthode "afficher" n'existe pas pour le contrôleur pages?
Oui, c'est la seule méthode dans les pages de catégorie. Je vais ajouter la classe dans le code ci-dessus.
Est-ce parce que vous avez déclaré votre contrôleur par défaut en tant que contrôleur/méthode, et pas seulement le contrôleur? Vous devriez avoir une méthode index() dans les pages contrôleur qui va s'exécuter lorsque le contrôleur est appelé, sans aucun supplément de segments.
Ce code est pris directement à partir de codeigniter.com/user_guide/tutorial/static_pages.html et la variable dans la page/afficher les valeurs par défaut de "tableau de bord" si pas donné une valeur.
êtes-vous sûr que votre serveur a mod_rewrite activé?

OriginalL'auteur Phil Young | 2012-05-01