Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 具有多个应用程序的CodeIgniter URI路由(htaccess)_Php_.htaccess_Codeigniter_Url Routing_Codeigniter Url - Fatal编程技术网

Php 具有多个应用程序的CodeIgniter URI路由(htaccess)

Php 具有多个应用程序的CodeIgniter URI路由(htaccess),php,.htaccess,codeigniter,url-routing,codeigniter-url,Php,.htaccess,Codeigniter,Url Routing,Codeigniter Url,大家好,我的社区 我的代码点火器有点问题。 我在我的应用程序文件夹中使用了两个应用程序。第一个是前端,第二个是后端 在我的根目录中有两个.php文件。一个index.php指向前端目录,一个backend.php指向后端目录 因为我使用mod rewrite来获得干净的URL,所以有一个问题。 URL结构如下:www.domain.com/controller/action 这是我的前端应用程序中控制器的操作 我使用htacces来摆脱域和控制器之间的/index.php/。 要访问我的后端应用

大家好,我的社区

我的代码点火器有点问题。 我在我的应用程序文件夹中使用了两个应用程序。第一个是前端,第二个是后端

在我的根目录中有两个.php文件。一个index.php指向前端目录,一个backend.php指向后端目录

因为我使用mod rewrite来获得干净的URL,所以有一个问题。 URL结构如下:www.domain.com/controller/action

这是我的前端应用程序中控制器的操作

我使用htacces来摆脱域和控制器之间的/index.php/。 要访问我的后端应用程序,我希望我的URL如下:www.domain.com/admin/controller/action

因此,我有一个重写规则:

RewriteCond %{REQUEST_URI} ^admin.*
RewriteRule ^admin/(.*)$ /backend.php?/$1 [L]
现在的问题是: CodeIgniter假定/backend/是第一个URI段,并希望将其错误地视为我的控制器

我真的必须编辑CodeIgniter的核心,以便告诉它不要使用服务器请求URI,还是有其他技巧

提前感谢,,
托马斯这真的不行。查看config/config.php和config/settings.php等需要设置的常量。。。您确实需要在单独的“应用程序”目录中运行每个应用程序。同样值得问问自己,它们是否需要成为“独立”的应用程序


基本上,在你还可以的时候,停止走这条路,它会导致心碎,以及大量可怕的代码。

这真的行不通。查看config/config.php和config/settings.php等需要设置的常量。。。您确实需要在单独的“应用程序”目录中运行每个应用程序。同样值得问问自己,它们是否需要成为“独立”的应用程序


基本上,当你还可以的时候,停止走这条路,这将导致心碎,以及大量可怕的代码。

我建议在控制器中设置一个名为“admin”的文件夹,而不是两个应用程序文件夹,你也可以在你的
模型
视图
(甚至
)名为“admin”,您可以将其从该项目中取出并转移到其他项目

这将允许您仅使用标准从URL中删除
index.php
,并且
domain.com/admin
将指向控制器中的管理员文件夹

您只需确保根控制器文件夹中没有名为“admin.php”的控制器,否则会遇到问题

有关更多信息,请查看:在CI文档中


还请注意,开箱即用的MVC框架可能并不总是用于创建CMS的最佳方法。通常,MVC框架最适合用于快速创建具有相当静态的
路由
指向特定
控制器
的web应用程序。另一方面,CMS倾向于完全控制网站,这导致数据库驱动的路由,通常不需要典型的
控制器,除非您有一个经过大量修改的路由系统。

我建议在控制器中有一个名为“admin”的文件夹,而不是有两个应用程序文件夹,您还可以在您的
模型
视图
(甚至是
)中设置名为“admin”的文件夹,然后您可以将其从该项目中拉出并移动到其他项目中

这将允许您仅使用标准从URL中删除
index.php
,并且
domain.com/admin
将指向控制器中的管理员文件夹

您只需确保根控制器文件夹中没有名为“admin.php”的控制器,否则会遇到问题

有关更多信息,请查看:在CI文档中


还请注意,开箱即用的MVC框架可能并不总是用于创建CMS的最佳方法。通常,MVC框架最适合用于快速创建具有相当静态的
路由
指向特定
控制器
的web应用程序。另一方面,CMS倾向于完全控制网站,这导致了数据库驱动的路由,通常不需要典型的
控制器
,除非您有一个经过大量修改的路由系统。

感谢答案=)我的意图是将前端和后端分开,以便能够将我的后端重新用于其他项目。您有什么建议?使用CI可爱的新“包”功能,它允许您重用某些代码位,或者为CI构建另一个“应用程序”,作为REST API。CI在软件包上的文档很难找到,但PS自己在这里描述了它们的功能:。在这两个选项中(可能还有更多),我会选择API:)谢谢你的答案=)我的意图是将前端和后端分开,以便能够将我的后端重新用于其他项目。您有什么建议?使用CI可爱的新“包”功能,它允许您重用某些代码位,或者为CI构建另一个“应用程序”,作为REST API。CI在软件包上的文档很难找到,但PS自己在这里描述了它们的功能:。在这两个选项中(可能还有更多),我会选择API:)