用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2331|回复: 6
收起左侧

如何用url的get形式访问控制器下的二级目录文件

[复制链接]
发表于 2012-11-26 10:58:07 | 显示全部楼层 |阅读模式
本帖最后由 ~杰~ 于 2012-11-26 11:01 编辑

由于现在一直在使用的nginx,不考虑换成apache了,现在用的是最新的2.1.3;有个问题就是现在我需要用
index.php?c=controller&m=method...的方式访问,那怎么调用二级目录的控制器呢?
例如访问:application/controller/admin/manager.php 文件
官方只提供了:
如果你要使用某个子文件夹下的功能,就要保证 URI 的第一个片段是用于描述这个文件夹的。例如说你有一个控制器在这里:
application/controllers/products/shoes.php
调用这个控制器的时候你的 URI 要这么写:
example.com/index.php/products/shoes/show/123

我需要的是不用基于这种段的形式访问的方法,像这样:index.php?c=controller&m=method...

求救,而且2.1.3显示图片也显示不了,百度基本都是说加上<?php echo base_url();?>/images/logo.jpg,但是 base_url 这个方法已经没有了!!!


发表于 2012-11-26 11:00:25 | 显示全部楼层
config.php 里可以设置为你说的那种方式。
base_url() 这个函数一直都有,你需要加载 url helper 才可以使用 base_url()
 楼主| 发表于 2012-11-26 11:03:01 | 显示全部楼层
Hex 发表于 2012-11-26 11:00
config.php 里可以设置为你说的那种方式。
base_url() 这个函数一直都有,你需要加载 url helper 才可以使 ...

$config['allow_get_array']                = TRUE;
这个我已经设置了,访问第一级的controller是可以的,但是就是不知道如可访问controller/admin下的文件
发表于 2012-11-26 11:31:23 | 显示全部楼层
第二级不是新建文件夹,而是在第一级的controller控制文件里,新建function 。
比如你想要个 admin 的第二级
就新建个

function admin(){
}
发表于 2012-11-26 11:36:53 | 显示全部楼层
理解错了,

控制器貌似不能用get调用的哦,只有参数可以

http://域名/一级控制器/二级控制器/参数1/参数2
可以转换为get:
http://域名/一级控制器/二级控制器?a=参数1&b=参数2

不能转换成:
http://域名/一级控制器?二级控制器&a=参数1&b=参数2
发表于 2012-11-26 11:40:00 | 显示全部楼层
~杰~ 发表于 2012-11-26 11:03
$config['allow_get_array']                = TRUE;
这个我已经设置了,访问第一级的controller是可以的,但是就是不 ...

$config['enable_query_strings'] 要设置这个为 TRUE 才可以。
$config['directory_trigger']    = 'd'; // experimental not currently in use
用这个来设置目录,注意看注释哦~
 楼主| 发表于 2012-11-26 11:49:03 | 显示全部楼层
Hex 发表于 2012-11-26 11:40
$config['enable_query_strings'] 要设置这个为 TRUE 才可以。
$config['directory_trigger']    = 'd';  ...

刚注意到了,非常感谢!因为看他的注释:experimental not currently in use(实验中,目前未使用!)误导了,以为这个是没有用的

本版积分规则