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

[版本 2.x] 关于用.htaccess去掉index.php,对于在子文件夹中建立的控制器无效

[复制链接]
发表于 2011-9-11 23:36:54 | 显示全部楼层 |阅读模式
我按照手册里面的方法写了htaccess

RewriteEngine on
RewriteCond $1 !^(index\.php|img|js|css|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1

所有放在控制器根目录下的控制器可以不带index访问,也就是这个htaccess工作是正常的。

但是对于在子目录下面的控制器就没办法了

比如一个文件在application\controllers\json\account.php 里面有个oauth方法

用  127.0.0.1/index.php/json/account/oauth 可以正常访问

但是用 127.0.0.1/json/account/oauth  就报错

不过在根目录下的是可以访问的   

比如  application\controllers\test.php  里的  welcome方法

用  127.0.0.1/index.php/test/welcome  和  127.0.0.1/test/welcome   都能访问
发表于 2011-9-13 17:54:48 | 显示全部楼层
你可以试试

RewriteEngine on
RewriteCond $1 !^(index\.php|img|js|css|robots\.txt)
RewriteRule ^(.*)$ index.php/$1

最后去掉了一个 /
发表于 2012-7-12 11:38:31 | 显示全部楼层
eplanet 发表于 2011-9-13 17:54
你可以试试

RewriteEngine on

我也是同样的问题,去掉了,也是不行
发表于 2012-7-12 12:44:51 | 显示全部楼层
这是不行的,你需要HMVC。在论坛里搜。
发表于 2012-7-12 14:59:56 | 显示全部楼层
可以在routes.php文件里加一条,$route['account/oauth'] = "json/account/oauth",试一试
发表于 2012-12-13 09:19:16 | 显示全部楼层
eplanet 发表于 2011-9-13 17:54
你可以试试

RewriteEngine on

这个是对的哦,很强大,呵呵

本版积分规则