2016-12-15 77 views
1

創建我在applications\models\Test_model.php創建了位置applications\views\test\test.php一個test.php文件與控制器application\controller\Test.php &模型。我在routes.php文件中添加了$route['test']='test/view'404錯誤在新的一頁笨

請注意有一些文件目前已被工作相當精細,其中之一是login.php &它在routes.php$route['login']='login/view'值。此外,該文件在同樣的位置上具有相同型號的&控制器文件。

當我嘗試訪問localhost\test時,它給我404錯誤,而對於localhost\login工作得很好。

任何人都可以幫助路由嗎?我是codeigniter的新手&我無法解決此問題。

編輯

htaccess的正常工作爲localhost\login與其他幾個文件一起正確加載。

編輯2

Test_model.php

<?php 
class Test_model extends CI_Model{ 
    public function __construct() 
    { 
    $this->load->database(); 
    } 
} 
?> 

test.php的

<div>Testing</div> 

test.php的

<?php 
class Test extends MY_Controller{ 
    public function __construct() 
    { 
    parent::__construct(); 
    $this->load->model('test_model'); 
    } 
    public function view() 
    { 
    $this->loadHeader(); 
    $this->load->view('test/test'); 
    $this->loadFooter(); 
    } 
} 
?> 

routes.php文件

$route['test'] = 'test/view'; 

編輯3

當我嘗試訪問localhost\application\controllers\Test.php,它給了我,說:Class My_Controller沒有發現錯誤。但是,當我嘗試使用其他文件做到這一點時,讓我們使用login與相同的位置,它給了我同樣的錯誤。

所以我想,它能夠找到控制器,因爲它顯然給出了一個錯誤,但無法加載其他任何東西。

是否有某種配置文件,我不得不提到我創建的每個新頁面或什麼?必須有一些東西。這是非常基本的&我無法找到它的根。

EDIT 4

所以這是一個問題是什麼。當我將測試視圖文件複製到頁面文件夾時,它工作正常。當然在控制器中編輯文件的路徑。

現在真正的問題是爲什麼在視圖下命名爲test的新文件夾沒有工作?

+0

您的route.php鏈接到一個不存在的''view''方法。而且我認爲,因爲你的控制器名稱與你的路由類似,所以你使用的是索引方法,那麼它應該沒有你的$ route路由。 – ahmad

+0

是的,但同樣適用於登錄文件。它有,登錄/查看和它工作正常,具有相同的確切參數。沒有$ route,它不起作用,甚至沒有登錄文件。 –

+2

您的測試控制器沒有視圖方法,您發佈的代碼中沒有定義測試/視圖 – ahmad

回答

0

創建.htaccess文件並粘貼以下

DirectoryIndex index.php 
RewriteEngine on 
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA] 
+0

對不起,之前沒有提到,htaccess工作正常。重寫規則已經存在。另外,正如我所提到的'localhost \ login'與其他幾個文件一起正常工作。 –

+0

確保類名與控制器和模型的文件名具有相同的名稱。例如,控制器'Test.php'應該有一個類名'class Test extends CI_Controller'。 – Muya

+0

是的,它也在那裏。與文件名稱相同的類名稱。 –

0

最後這段代碼,罪魁禍首就是這條線在routes.php文件:

$route['(:any)'] = 'pages/view/$1'; 

我將低於此,因此被越來越默認其他途徑行爲。我把它們放在這條線上&它像一個魅力工作。我從來沒有想過這可能是問題。

行號事情,現在。