我遇到了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'));
它是好的,成功展示了「我的圖標」文本。想知道爲什麼只在「/」下工作,其他都不起作用。
另請參閱:http://book.cakephp.org/view/917/Apache-and-mod_rewrite-and-htaccess和http://book.cakephp.org/view/1533/A-Note-on- mod_rewrite的 – deizel 2010-06-16 13:13:23