Я следую приведенному ниже руководству по реализации [скелетного приложения] [1].Zend FrameWork 2 Album tutorial Ошибка: произошла ошибка 404 Страница не найдена
У меня есть копия вставили весь код содержится в учебнике, но я получаю ошибку ниже:
A 404 error occurred
Page not found.
The requested URL could not be matched by routing.
No Exception available
У меня есть крест проверил все подобные вопросы в StackOverflow, но ни один из них не смогли решить мою проблему.
Может ли кто-нибудь помочь мне в этом?
Пожалуйста, найдите ниже код .:
C:\wamp64\www\zend\module\Album\Module.php
<?php
namespace Album;
use Album\Model\AlbumTable;
class Module
{
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
public function getServiceConfig()
{
return array(
'factories' => array(
'Album\Model\AlbumTable' => function($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$table = new AlbumTable($dbAdapter);
return $table;
},
),
);
}
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
}
C: \ wamp64 \ WWW \ Зенд \ модуль \ Album \ Config \ module.config.php
<?php
return array(
'controllers' => array(
'invokables' => array(
'Album\Controller\Album' => 'Album\Controller\AlbumController',
),
),
'router' => array(
'routes' => array(
'album' => array(
'type' => 'segment',
'options' => array(
'route' => '/album[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Album\Controller\Album',
'action' => 'index',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'album' => __DIR__ . '/../view',
),
),
);
Есть ли способ в zend сделать отладочную ошибку, когда возникает проблема?
.htaccess файл содержит код, приведенный ниже
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
ВХост как ниже
<VirtualHost *:80>
ServerName zend
DocumentRoot c:/wamp64/www/zend/public
<Directory "c:/wamp64/www/zend/public/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
хозяина установлены как
127.0.0.1 zend
Я пытаюсь получить доступ к ссылке ниже
C: \ wamp64 \ WWW \ Зенд \ Config \ modules.config.php
return [
'Zend\Router',
'Zend\Validator',
'Application',
'Album',
];
просто необходимости подтвердить, но ваш с помощью веб-сервера Apache не так ли? вы сделали то, что он сказал в самом низу, где он говорит * «если вы видите стандартную ошибку Apache 404, тогда вам нужно исправить использование .htaccess перед продолжением». * –
какой URL-адрес вы вводили? Какой у вас vhost (wamp vhost) – Hooli
Привет Memor-X и Hooli Спасибо за ответ. Я добавил .htaccess и vhost и информацию о хосте на вопрос. Можете ли вы посмотреть, хорошо ли это или нет? – user3392695