У меня была проблема с маршрутом 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>
Но я не могу открыть index.ctp с помощью localhost:8080/myapp/icons/
. Поэтому позже я попытался изменить мой 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