2010-06-15 155 views
0

我遇到了CakePHP路由問題。我只能訪問根「/」,它顯示了CakePHP默認的歡迎主頁。後來我嘗試寫我的控制器(icons_controller.php)和視圖(views/icons/index.ctp),它有問題。我在http://localhost:8080/myapp/icons/鍵入它總是說「Not Found The requested URL /myapp/icons/ was not found on this server.」以我routers.php文件有:CakePHP路由問題

Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home')); 
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display')); 

我創建像icons_controller.php文件控制器:

<?php 
class IconsController extends AppController{ 
var $name = 'Icons'; 
function index() { 
    $this->set('icons', $this->Icon->find('all')); 
} 
} 
?> 

,它應該簡單的開只有一個段落標記文本(在/views/icons/index.ctp)

<h1>My Icons</h1> 

但我不能用localhost:8080/myapp/icons/打開index.ctp文件。所以,後來我想修改我的routers.php文件這樣的,它工作正常的URL http://localhost:8080/myapp/

Router::connect('/', array('controller' => 'icons', 'action' => 'index')); 
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display')); 

它是好的,成功展示了「我的圖標」文本。想知道爲什麼只在「/」下工作,其他都不起作用。

回答

1

其實,問題是,你還沒有命名的函數一樣的路線 顯示。因此,在控制器下,您需要帶有display(){}函數 的pages_controller以及視圖下的pages文件夾中的顯示視圖。