zjhit0409 发表于 2018-6-3 20:57:51

无法一个codeigniter下运行两个应用

本帖最后由 zjhit0409 于 2018-11-2 19:40 编辑

admin.php里面也改成了 $application_folder = 'application/ucenter';
现在问题就是,访问example.com/admin/role/list,他会默认指向admin控制器的role方法,其实应该是admin应用的role控制器list方法。
想问一下如何才能解决这个问题?谢谢!

Hex 发表于 2018-6-7 00:08:17

zjhit0409 发表于 2018-6-6 22:33
你是要ci的报错吗……?

页面就显示普通的ci的404页面,其他啥都没写,只不过是我自己加了个显示uri的函 ...
我实际测试了一下,主要原因是因为你的 /user/ 或 /admin/ 这个 uri 造成的,因为 /user/ 这个 uri 会直接传递给 user.php 这个 app,而你这个 app 里并没有 user 控制器,解决方法有两个,一个是用 CI 的路由,例如: $route['user'] = 'welcome'; 强行把 /user 转到 welcome 控制器(请换成你实际的控制器名);另一个方法是用 nginx 把 /user/xxx rewrite 成 /xxx

简单说就是 /user 这个路径是多余的。

我用 CI 路由的方式亲测是可行的,只是你需要根据你的业务写路由规则。

Skiy 发表于 2018-6-11 11:34:01

Hex 发表于 2018-6-4 12:17
我了解是两个独立 APP,但是你说 admin 控制器?你不是两个 app 么,为什么还有 admin 控制器呢? ...

怎么说呢.
也就是 application1 和 application2 分别对应 admin.php 和 user.php 两个入口文件.
然后将一些公共的文件取到 assets 内.
models 可以写在 assets 里,这样的话, application1 和 application2都能调用.
也可以直接分别在对应的 application 下的 models 写,这样可以自用...
我想表达的应该是这个意思吧.

zjhit0409 发表于 2018-6-6 15:47:14

Hex 发表于 2018-6-4 15:29
phpfpm 就是运行 php 的,你可以 google 一下。

没有 admin 控制器,那你说会访问 admin 控制器下的 rol ...

我意思是这样

访问/admin/role/list

我理想中是指向admin应用里边的role控制器的list方法

但报错显示他指向了admin控制器的role方法,list是参数(这个是错误的)

我也在nginx配置好了的,/admin/是重定向到/member/admin.php(admin.php是入口文件)

Hex 发表于 2018-6-3 21:24:22

看起来有可能是 nginx 的 phpfpm 配置有问题,你贴的这个 try_files 看起来没问题。你的问题应该就是 nginx 配置的问题。你可以贴一下 phpfpm 配置。

另外,你有 admin 这个控制器吗?如果你需要 admin 应用,那就不能有 admin 控制器,这个不能重名。

Skiy 发表于 2018-6-4 09:00:08

我是独立两个app出来的,然后两个入口文件.

Hex 发表于 2018-6-4 12:17:52

Skiy 发表于 2018-6-4 09:00
我是独立两个app出来的,然后两个入口文件.

我了解是两个独立 APP,但是你说 admin 控制器?你不是两个 app 么,为什么还有 admin 控制器呢?

zjhit0409 发表于 2018-6-4 13:03:57

Hex 发表于 2018-6-3 21:24
看起来有可能是 nginx 的 phpfpm 配置有问题,你贴的这个 try_files 看起来没问题。你的问题应该就是 nginx ...

抱歉想问一下phpfpm是什么[尴尬]

两个应用都没有admin这个控制器。

Hex 发表于 2018-6-4 15:29:23

zjhit0409 发表于 2018-6-4 13:03
抱歉想问一下phpfpm是什么[尴尬]

两个应用都没有admin这个控制器。

phpfpm 就是运行 php 的,你可以 google 一下。

没有 admin 控制器,那你说会访问 admin 控制器下的 role 方法?没有这个控制器怎么访问 role 方法?不太理解你要表达什么。

dy7338 发表于 2018-6-5 14:57:00

单独的app入口index.php 共用system即可

zjhit0409 发表于 2018-6-6 15:47:38

dy7338 发表于 2018-6-5 14:57
单独的app入口index.php 共用system即可

已经是分别单独的入口了,就是不行……

dy7338 发表于 2018-6-6 15:55:22

zjhit0409 发表于 2018-6-6 15:47
已经是分别单独的入口了,就是不行……

听你的意思 有点像thinkphp里面的group分组一样。干嘛不用多域名来指定不同的app。你的这种访问方式确实会存在问题。
页: [1] 2 3 4
查看完整版本: 无法一个codeigniter下运行两个应用