маршрутизация структуры Zend

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

введите описание изображения здесь я хочу открыть индексную страницу, которая находится во флере просмотра модуля посещения

вот путь 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 страницу с ошибкой.

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

Имя вашего контроллера – это 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]