0

出于安全原因,此处提到http://codeigniter.com/user_guide/installation/index.html我已将系统和应用程序文件夹放在另一个名为 OSW_appnsys 的文件夹中,该文件夹位于 Web 根文件夹上方。现在我在以下目录中有一个名为“Pages”的控制器类和一个“View”函数。

C:\wamp\www\OSW_appnsys\application\controllers

现在,当我从另一个名为“header.php”的视图文件中调用控制器“页面”的“视图”方法时,我收到了这样的 404 错误

The requested URL /CodeIgniter_2.1.2/pages/view/products was not found on this server.

其中产品是 URI。

我这样称呼:

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

任何帮助将不胜感激。泰

4

3 回答 3

3

You don't link to a view, you link to the name of a controller. If your controller is named 'Pages', you have to link to:

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

Assuming that you have placed your controllers in a 'pages/controllers/' folder. In the controller named 'pages' you load the view (a file named products_view.php or something, which is in your views folder) like so:

$this->load->view('products_view.php');
于 2012-08-14T13:07:39.887 回答
1

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

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

$application_folder = 'application';
$system_folder = 'system';

将这些更改为

$application_folder = '../OSW_appnsys/application';
$system_folder = '../OSW_appnsys/system';

然后将浏览器指向 CodeIgniter 的 index.php 所在的 URL。

IE

\
\OSW_appnsys
\OSW_appnsys\application
\OSW_appnsys\system
\htdocs
\htdocs\index.php

通过

http://localhost/index.php

此外,在访问控制器或视图时,您只需要访问控制器名称即可。IE

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

然后,您将拥有一个带有 View 操作的 Page 控制器,其中将执行

<?php
class Pages extends CI_Controller {

    public function view()
    {
        echo $this->load->view('pages/view');
    }
}
?>
于 2012-08-14T13:33:54.503 回答
0

在锚标签中试试这个

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

products.php并在控制器的视图功能中加载视图

于 2012-08-14T12:11:36.123 回答