2012-08-14 173 views
0

出於此處提及的安全原因http://codeigniter.com/user_guide/installation/index.html我已將系統和應用程序文件夾放在另一個名爲OSW_appnsys的文件夾中,該文件夾位於Web根文件夾之上。現在我在下面的目錄中有一個名爲'Pages'的控制器類和一個'View'函數。CodeIgniter從另一個視圖通過控制器加載視圖

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> 

任何幫助將得到高度讚賞。泰

+0

,如果我直接通過完整的目錄鏈接訪問控制器類,然後我得到的錯誤「紫禁城。您沒有權限訪問應用程序文件夾「 – Saaram 2012-08-14 11:57:02

+0

如果視圖是您的方法的產品參數的方法? – 2012-08-14 12:01:41

+0

產品是一個視圖文件products.php – Saaram 2012-08-14 12:04:04

回答

2

試試這個錨標記

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

和負載視圖products.php你不鏈接到一個視圖,您鏈接到一個控制器的名稱。如果您的控制器被命名爲「頁數」,你要鏈接到:

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

假設你已經把你的控制器在「頁/控制器/」文件夾中。在控制器命名爲「頁」您加載視圖(文件名爲products_view.php什麼的,這是你的意見文件夾),像這樣:

$this->load->view('products_view.php'); 
+0

感謝德克應用程序和系統文件夾中。工作 – Saaram 2012-08-15 13:17:50

0

鑑於功能控制器

+0

仍然無法工作 – Saaram 2012-08-14 12:14:32

+0

你能否在index.php文件中顯示你提到的$ application_folder ='和$ system_folder ='' – Anu 2012-08-14 12:31:30

+0

是的,同時檢查你的.htaccess,你指定的ReWriteBase – 2012-08-14 12:32:33

1

看來你可能已經明白笨是如何工作的。

如上所述,您的配置文件中,你將有

$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操作頁面控制器內這將做

<?php 
class Pages extends CI_Controller { 

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