Я создаю модуль в проекте 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);
Проблема, похоже, связана с тем, что корень не перенаправляется на /public
.
Правильный способ: вам нужно настроить vhost и указать корень в public
каталог.
Другой способ: вам нужно перенаправить каждый запрос в 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]