Php CodeIgniter从另一个视图通过控制器加载视图

Php CodeIgniter从另一个视图通过控制器加载视图,php,codeigniter,controller,Php,Codeigniter,Controller,出于此处提到的安全原因,我将系统和应用程序文件夹放在另一个名为OSW_appnsys的文件夹中,该文件夹位于web根文件夹上方。现在我在下面的目录中有一个名为“Pages”的控制器类和一个“View”函数 C:\wamp\www\OSW_appnsys\application\controllers 现在,当我从另一个名为“header.php”的视图文件调用控制器“Pages”的“View”方法时,我得到了如下404错误 The requested URL /CodeIgniter_2.1.

出于此处提到的安全原因,我将系统和应用程序文件夹放在另一个名为OSW_appnsys的文件夹中,该文件夹位于web根文件夹上方。现在我在下面的目录中有一个名为“Pages”的控制器类和一个“View”函数

C:\wamp\www\OSW_appnsys\application\controllers
现在,当我从另一个名为“header.php”的视图文件调用控制器“Pages”的“View”方法时,我得到了如下404错误

The requested URL /CodeIgniter_2.1.2/pages/view/products was not found on this server.
其中product是URI

我这样称呼:

<a class="mainmenu" href="<?php echo base_url('pages/view/products')?>">Products</a>

我们将非常感谢您的帮助。Ty

在锚定标记中尝试此操作

base_url().'index.php/pages/view'
并在控制器的视图功能中加载视图
products.php

在锚定标记中尝试此操作

base_url().'index.php/pages/view'

并在控制器中加载视图
products.php
in view函数

如果不链接到视图,则链接到控制器的名称。如果控制器名为“Pages”,则必须链接到:

<a class="mainmenu" href="<?php echo base_url('pages/controllers/products')?>">Products</a>

您没有链接到视图,而是链接到控制器的名称。如果控制器名为“Pages”,则必须链接到:

<a class="mainmenu" href="<?php echo base_url('pages/controllers/products')?>">Products</a>

看起来您可能已经了解了CodeIgniter的工作原理

如上所述,在配置文件中,您将

$application_folder = 'application';
$system_folder = 'system';
把这些换成

$application_folder = '../OSW_appnsys/application';
$system_folder = '../OSW_appnsys/system';
然后将浏览器指向CodeIgniter的index.php所在的URL

i、 e

通过

http://localhost/index.php

此外,在访问控制器或视图时,只需访问控制器名称。i、 e

<a href="<?php echo site_url('pages/view'); ?>">Go to page</a>

然后您将拥有一个页面控制器,其中包含一个视图操作

<?php
class Pages extends CI_Controller {

    public function view()
    {
        echo $this->load->view('pages/view');
    }
}
?>

您似乎已经了解了CodeIgniter的工作原理

如上所述,在配置文件中,您将

$application_folder = 'application';
$system_folder = 'system';
把这些换成

$application_folder = '../OSW_appnsys/application';
$system_folder = '../OSW_appnsys/system';
然后将浏览器指向CodeIgniter的index.php所在的URL

i、 e

通过

http://localhost/index.php

此外,在访问控制器或视图时,只需访问控制器名称。i、 e

<a href="<?php echo site_url('pages/view'); ?>">Go to page</a>

然后您将拥有一个页面控制器,其中包含一个视图操作

<?php
class Pages extends CI_Controller {

    public function view()
    {
        echo $this->load->view('pages/view');
    }
}
?>



如果我通过完整目录链接直接访问控制器类,则会出现错误“禁止。您没有访问应用程序文件夹的权限”如果view是方法,那么方法的参数是什么?products是视图文件products.phpDid的名称您可以从文档中执行此步骤:
移动它们后,打开主index.php文件并设置$system\u文件夹和$application\u文件夹变量,最好使用完整路径,例如,“/www/MyUser/system”。
?我们传统上不会这样加载视图,我们会调用控制器功能页/视图,然后$this->load->view(“产品”);如果我通过完整的目录链接直接访问控制器类,则会出现错误“禁止。您没有访问应用程序文件夹的权限”如果view是方法,那么方法的参数是什么?products是视图文件products.phpDid的名称您可以从文档中执行此步骤:
移动它们后,打开主index.php文件并设置$system\u文件夹和$application\u文件夹变量,最好使用完整路径,例如,“/www/MyUser/system”。
?我们传统上不会这样加载视图,我们会调用控制器功能页/视图,然后$this->load->view(“产品”);您能在index.php文件中显示您提到的$application\u folder=''和$system\u folder=''吗?是的,请检查您的.htaccess,即您的重写库specified@user1537158我应该在那个文件里写什么?现在,它的DENY FROM all例如在index.php$system_path='OSW_appnsys/system'中;$application_folder='OSW_appnsys/application';如果您的应用程序和系统文件夹位于OSW_appnsys中,您能否在index.php文件中显示您提到的$application_folder=''和$system_folder=''是,同时检查您的.htaccess,即您的重写库specified@user1537158我应该在那个文件里写什么?现在,它的DENY FROM all例如在index.php$system_path='OSW_appnsys/system'中;$application_folder='OSW_appnsys/application';如果您的应用程序和系统文件夹位于OSW_appnsys中