多应用程序问题!
我在Application下创建了两个文件夹,类似这样:applications/home/
applications/home/config/
applications/home/controllers/
applications/home/errors/
applications/home/libraries/
applications/home/models/
applications/home/views/
applications/admin/
applications/admin/config/
applications/admin/controllers/
applications/admin/errors/
applications/admin/libraries/
applications/admin/models/
applications/admin/views/
在根目录下index.php设置$application_folder = "applications/foo";
admin.php 设置$application_folder = "applications/admin";
OK,一切正常。问题是访问admin应用程序时。地址是这样:http://www.xxxx.com/admin.php/login
请问,如何隐藏admin.php,使地址变成这样http://www.xxxx.com/admin/login
共用SYSTEM 但怎样共用配置文件呢 直接复制一个applications叫admin
然后在根目录下index.php里判断来源的地址进行分流
如果是前台地址{
$application_folder = 'application';
}如果是后台地址{
$application_folder = 'admin';
} 本帖最后由 bc523 于 2012-10-18 11:50 编辑
sdink 发表于 2012-10-18 11:20 http://codeigniter.org.cn/forums/static/image/common/back.gif
直接复制一个applications叫admin
然后在根目录下index.php里判断来源的地址进行分流
这样是能初步实现。但是地址不好判断。只有整个管理域名。CI没有分组功能么? 共用一个system而已 bc523 发表于 2012-10-18 11:43 static/image/common/back.gif
这样是能初步实现。但是地址不好判断。只有整个管理域名。CI没有分组功能么? ...
怎么不好判断了。取出当前地址没有问题吧,
如你的域名是bssss.com
访问前台www.bssss.com,或是bssss.com
访问后台www.bssss.com/admin,或是bssss.com/admin
取出当前地址,他们都共有一个bssss.com
然后你就判断bssss.com/admin是不是在该地址中出现,
如果出现那么就是后台,如果没有那就是前台。
本帖最后由 bc523 于 2012-10-18 12:31 编辑
sdink 发表于 2012-10-18 12:02 http://codeigniter.org.cn/forums/static/image/common/back.gif
怎么不好判断了。取出当前地址没有问题吧,
如你的域名是bssss.com
访问前台www.bssss.com,或是bssss.co ...
这样当然行。但是bssss.com/admin 就意味着访问后台任何一个控制器都要经过admin.php这个文件。 bc523 发表于 2012-10-18 12:28 static/image/common/back.gif
这样当然行。但是bssss.com/admin 就意味着访问后台任何一个控制器都要经过admin.php这个文件。 ...
admin.php不要了老大。你就是一个index.php了 N个程序共享index.php和system。而applications可以起多个啊
你要让他访问那个applications你自己在index.php根据域名来判断。。。。。。。。。。。。 sdink 发表于 2012-10-18 13:04 http://codeigniter.org.cn/forums/static/image/common/back.gif
admin.php不要了老大。你就是一个index.php了 N个程序共享index.php和system。而applications可以起多个 ...
你理解错了。根目录下没有admin.php.然而bssss.com/admin。访问的应该是applications/admin/controllers/
文件夹下的admin.php文件。没错吧。这样的情况下。是不是访问每个后台应用程序都会经过admin.php这个文件呢? bc523 发表于 2012-10-18 13:51 static/image/common/back.gif
你理解错了。根目录下没有admin.php.然而bssss.com/admin。访问的应该是applications/admin/controllers/ ...
爱咱咱,不管了。教你方便的方法你看不懂。。。。你非要访问applications目录下也没有问题。那就是bssss.com/admin对应applications/admin/welcome(默认) 控制器。bssss.com/admin/test对应applications/admin/test ,bssss.com/admin/test/add对应applications/admin/test/add
注意的是ci只支持一级目录,所以你只这样写
../applications
--------------/admin
../-------------------/welcome.php
../-------------------/test.php
当然多出的就可以用方法或是传参来解决
如访问bssss.com/admin/test/add
../-------------------/test.php
class test{
function add(){
}
}
如访问bssss.com/admin/test/add/1
class test{
function add($id=null){
echo $id;
}
}
本帖最后由 bc523 于 2012-10-18 16:36 编辑
sdink 发表于 2012-10-18 15:56 http://codeigniter.org.cn/forums/static/image/common/back.gif
爱咱咱,不管了。教你方便的方法你看不懂。。。。你非要访问applications目录下也没有问题。那就是bssss. ...
我知道你的意思。你是说复制一个application。
我复制了一个改为admin.原来的改为home.
index.php 判断ci.com/admin 即访问admin
但是这样是访问admin文件夹。达不到预期效果。需要复制index.php到admin文件夹下
并设置
$system_path = '../Core';
$application_folder = '../admin';
但是。访问ci.com/admin。是访问admin/controllers/文件夹下的admin文件。
但是如果我要访问admin/controllers/main.php文件呢?
是不是ci.com/admin/main?显然不行。这是访问admin模块的main方法。
所以我纠结的是这个问题。
当然你最后回复说的方法可以用。我先前也是这样的。
不过就是有点混乱。所以我看到手册上的管理应用程序提出了先前的问题
感谢你的回答!
页:
[1]
2