Routage de sous-domaines

Je suis en train de configurer un script de blogs sur un site web en cours d'exécution sur le framework CodeIgniter. Je veux le faire sans faire de grands changements de code pour mon site web code. J'ai pensé que la création d'un sous domaine pointant vers un autre Contrôleur serait la méthode la plus sûre de le faire.

Les étapes que j'ai pris à l'installation de mon nouveau Blog contrôleur impliqués:

  1. La création d'Un enregistrement pointant vers mon adresse ip du serveur.
  2. L'ajout de nouvelles règles de CodeIgniter est routes.php fichier.

Voici ce que je suis venu avec:

switch ($_SERVER['HTTP_HOST']) {
    case 'blog.notedu.mp':
        $route['default_controller'] = "blog"; 
        $route['latest'] = "blog/latest";
        break;
    default:
        $route['default_controller'] = "main";
        break;
}

Cela devrait blog.notedu.mp et blog.notedu.mp/latest à mon blog contrôleur.

Maintenant, ici, est le problème...

Accès blog.notedu.mp ou blog.notedu.mp/index.php/blog/latest fonctionne très bien, cependant accéder à blog.notedu.mp/latest me prend pour une page 404 pour une raison...

Mon .fichier htaccess ressemble à ceci (la valeur par défaut pour la suppression index.php à partir de l'url):

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

Et mon Blog contrôleur contient le code suivant:

class Blog extends CI_Controller {

    public function _remap($method){
        echo "_remap function called.\n";
        echo "The method called was: ".$method;
    }

    public function index()
    {
        $this->load->helper('url');
        $this->load->helper('../../global/helpers/base');

        $this->load->view('blog');
    }

    public function latest(){
        echo "latest working";
    }

}

Ce qui me manque sur ou de faire du mal ici? J'ai été à la recherche d'une solution à ce problème pendant des jours 🙁

source d'informationauteur Joel Murphy