Maison > développement back-end > tutoriel php > 关于CodeIgniter 3.0 default_controller的疑问

关于CodeIgniter 3.0 default_controller的疑问

WBOY
Libérer: 2016-06-06 20:36:06
original
1247 Les gens l'ont consulté

我在CI2.x的时候,在controller目录下,分别有admin和index两个目录分别对应后台与前台。

关于CodeIgniter 3.0 default_controller的疑问

那么routes.php中我是这样设置的

<code>$route['default_controller'] = 'index/home/index';
</code>
Copier après la connexion
Copier après la connexion

现在发现在3.0中,这样设置不行了。请问我应该怎么做。 比较纠结的是,我确实希望把前台放到index目录下,而不是直接移动到上层的controller里面。

请问,在现有目录结构的情况下,我怎么实现访问index.php的时候默认控制器为index/home/index

另外,不想通过redirect跳转过去,因为这样显示的就不是index.php而是把全路径暴露出来了

回复内容:

我在CI2.x的时候,在controller目录下,分别有admin和index两个目录分别对应后台与前台。

关于CodeIgniter 3.0 default_controller的疑问

那么routes.php中我是这样设置的

<code>$route['default_controller'] = 'index/home/index';
</code>
Copier après la connexion
Copier après la connexion

现在发现在3.0中,这样设置不行了。请问我应该怎么做。 比较纠结的是,我确实希望把前台放到index目录下,而不是直接移动到上层的controller里面。

请问,在现有目录结构的情况下,我怎么实现访问index.php的时候默认控制器为index/home/index

另外,不想通过redirect跳转过去,因为这样显示的就不是index.php而是把全路径暴露出来了

官方文档有说明

Directories and ‘default_controller’, ‘404_override’
As you should know, the $route['default_controller'] and $route['404_override'] settings accept not only a controller name, but also controller/method pairs. However, a bug in the routing logic has made it possible for some users to use that as directory/controller instead.
As already said, this behavior was incidental and was never intended, nor documented. If you’ve relied on it, your application will break with CodeIgniter 3.0.

可见官方其实是把这当成一个BUG的,并不推荐这种做法。

不想显示index.php;应该是配置:config.phg

<code>$config['index_page'] = ''; //去掉index.php
</code>
Copier après la connexion

在根目录加入.htaccess

<code> RewriteEngine on
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond $1 !^(index\.php|assets|robots\.txt)
 RewriteRule ^(.*)$ /index.php/$1 [L]
</code>
Copier après la connexion

再者你的配置应该是 $route['default_controller'] ='index/home';

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal