маршрутизация Zend Framework - PullRequest
1 голос
/ 01 марта 2012

Я создаю модуль в Zend Project, и у модуля есть свои собственные папки mvc, вот структура модуля,

enter image description here Я хочу открыть страницу индекса, которая находится в окне просмотраПосетите модуль

. Вот путь index.phtml

InspectionSys\application\modules\visits\views\scripts\visits\index.phtml

, и я пытаюсь выполнить маршрутизацию на страницу индекса в application.ini

resources.router.routes.user.route = /visit
resources.router.routes.user.defaults.module = visits
resources.router.routes.user.defaults.controller = visit
resources.router.routes.user.defaults.action = index

, когда явведите http://localhost/zendApps/InspectionSys/visit, возвращается страница ошибки 404.

Что мне делать?

1 Ответ

2 голосов
/ 01 марта 2012

Имя вашего контроллера - visits, а не visit.

Попробуйте заменить ваш маршрут на

resources.router.routes.user.route = "/visit"
resources.router.routes.user.defaults.module = visits
resources.router.routes.user.defaults.controller = visits
resources.router.routes.user.defaults.action = index

или определите свой маршрут в bootsrap

 $routeUser = new Zend_Controller_Router_Route(
    '/visit',
    array(
        'module' => 'visits'
        'controller' => 'visits',
        'action' => 'index'
    )
);
$router -> addRoute('visit', $routeUser);

Обновление 1

Возможно, проблема в том, что корень не маршрутизируется на /public.

  1. Правильный путь: Вам необходимо настроить vhost и указать корень в каталоге public.

  2. Другой способ: Вам нужно перенаправить каждый запрос в каталог public..htaccess для этого файла будет

    RewriteRule ^\.htaccess$ - [F]
    
    RewriteCond %{REQUEST_URI} =""
    RewriteRule ^.*$ /public/index.php [NC,L]
    
    RewriteCond %{REQUEST_URI} !^/public/.*$
    RewriteRule ^(.*)$ /public/$1
    
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^.*$ - [NC,L]
    
    RewriteRule ^public/.*$ /public/index.php [NC,L]
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...