Codeigniter正在默认控制器中加载外部站点


Codeigniter Loading external site in default controller

我无法独自解决这个问题,所以我在这里寻求您的帮助。

如何加载我已经在代码点火器默认控制器中作为视图创建的网站?

我把我的网站放在一个文件夹名称的网站下,在默认的控制器中我加载了视图网站/索引,但在我的网站中,包含和重定向有问题。。。我不知道为什么,我想网站通常使用重定向的方式与代码点火器风格的不兼容

edit:我想我必须关闭这个网站的CI引擎,但我不知道为什么,因为我仍然需要codeingter来管理我的应用程序的其他部分

"当URI不存在时,CodeIgniter可以被告知加载默认控制器,就像只请求站点根URL时一样。要指定默认控制器,请打开application/config/routes.php文件并设置此变量:$route['default_controller']="博客";

其中Blog是您想要使用的控制器类的名称。如果您现在加载主index.php文件而不指定任何URI段,那么默认情况下您会看到Hello World消息。"

http://codeigniter.com/user_guide/general/controllers.html

从该链接复制的片段,您应该将控制器类名放在该配置中,而不是视图

我想最好选择以下选项之一:

  1. 将现有站点修改为CodeIgniter站点
  2. 将您的站点与CodeIgniter站点分开,只需链接两个站点即可

你试图做这件事的方式似乎毫无用处,而且会带来很多额外的麻烦。

您可以简单地使用控制器中的重定向函数。如果你提供了一个完整的URL,你可以转到任何其他页面。当然,您将离开CI应用程序。

redirect('http://www.example.net/page_in_external_site/');

在定义includes的路径时,请尝试使用APPPATH常量。

我知道这是一个老问题,但您可以尝试使用带有iframe的视图模板,并将URL传递给iframe中的src属性。这样,你可以在视图中显示你的网站,但仍然无法访问从你的网站传递给视图的vars。

在system/Core/Loader.php中,将行141更改为如下所示:

$this->_ci_view_paths=数组(APPPATH.'views/'=>TRUE,FCPATH=>TRUE);

获取视图很简单:

$this->load->view('application/PATH_TO_view');