出于安全原因,此处提到http://codeigniter.com/user_guide/installation/index.html我已将系统和应用程序文件夹放在另一个名为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
答案 0 :(得分:2)
您没有链接到视图,而是链接到控制器的名称。如果您的控制器名为“页面”,则必须链接到:
<a class="mainmenu" href="<?php echo base_url('pages/controllers/products')?>">Products</a>
假设您已将控制器放在'pages / controllers /'文件夹中。在名为“pages”的控制器中,您加载视图(名为products_view.php的文件或某些内容,位于您的views文件夹中),如下所示:
$this->load->view('products_view.php');
答案 1 :(得分:1)
您可能已经了解CodeIgniter的工作原理。
如上所述,在您的配置文件中,您将拥有
$application_folder = 'application';
$system_folder = 'system';
将这些更改为
$application_folder = '../OSW_appnsys/application';
$system_folder = '../OSW_appnsys/system';
然后将浏览器指向CodeIgniter的index.php所在的URL。
即。
\
\OSW_appnsys
\OSW_appnsys\application
\OSW_appnsys\system
\htdocs
\htdocs\index.php
通过
http://localhost/index.php
此外,访问控制器或视图时,只需访问控制器名称即可。即。
<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');
}
}
?>
答案 2 :(得分:0)
在锚标记
中尝试此操作base_url().'index.php/pages/view'
并在Controller
中的视图函数中加载视图products.php