Maison  >  Article  >  développement back-end  >  La route par défaut de CI 3.0 est placée dans un sous-dossier et est inaccessible.

La route par défaut de CI 3.0 est placée dans un sous-dossier et est inaccessible.

巴扎黑
巴扎黑original
2017-06-23 13:52:461360parcourir
Cet article est reproduit à partir de :
Par exemple, vous souhaitez configurer la route par défaut comme : $route['default_controller'] = 'index/home';

Avant ci3.0, cela pouvait être placé dans un sous-dossier dans les contrôleurs, mais après ci3.0, il doit être placé directement sous les contrôleurs. Si vous insistez pour le placer sous son sous-dossier, la solution est la suivante :

Rechercher le système > ; router.PHP 2978 Commentez la ligne -301. (Le mien est la version 3.1.3) comme suit :

  1. // if (sscanf($this->default_controller, '%[^/]/%s', $class, $method) !== 2)

  2. // { 

  3.   // $method = 'index'; 

  4.  // }

Ajoutez ensuite le code suivant à la fin :

  1. $index = strripos($this->default_controller, '/'); //Enregistrez l'indice du symbole '/'

  2. ( $index == false)

  3. {

  4. $this->default_controller;

    // Sans '/' vous pouvez attribuer la valeur directement

    }
  5. else{
  6.  
  7. $this->directory =
  8. substr(

    $this->default_controller, 0, $index + 1 //Répertoire chaîne );

                                               ->default_controller,
  9. $index + 1); 🎜>
  10. }

    $méthode =
  11. $this->méthode
  12. //Méthode par défaut

  13. Cela résout le problème que le l'itinéraire par défaut est introuvable dans un sous-dossier.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn