Zend Framework 2 Album Tutorial 404 ошибка произошла Запрошенный URL не может быть сопоставлен при маршрутизации MAMP OSX

только что опубликовал это на IRC канале ZFTalk тоже,

Надеюсь, я смогу получить некоторую помощь по ZF2, учебнику по ZF2 Album, OSX, используя MAMP. Скелет рамки, домашняя страница работает.

Проблема: после заполнения раздела: 8.5. Перечисление альбомов вы заполняете модулем / Album / View / album / album / index.phtml некоторым кодом, а затем они просят вас просмотреть страницу наHttp: //zf2-tutorial.localhost/album.

Я получаю 404. Запрошенный URL не может быть сопоставлен маршрутизацией.

Я отправился в Google за советом. Нашел GIT-репозиторий с «полностью работающей моделью» Учебного руководства, так что я получил это для сравнения своего кода. Если я настрою это как другой хост, я получу то же самое сообщение о маршрутизации 404.

После тщательного изучения руководства в самом начале ясно указывается, что вы не сможете просматривать ничего, кроме начальной / домашней страницы, если для вашего httpd.conf / AllowOverride не задано значение FileInfo.

Решил проверить всю машину на наличие файлов с именем httpd.conf, просто на случай, если измененный мной путь не используется MAMP при включении сервера.

Итак, нашел 3, изменил их все (хотя 3 мы нашли, я считаю, что правильный маршрут - / private / etc). Моя проблема все еще существует в коде, который я написал из учебника, а также в коде GIT «работающего» модель.

Кто-нибудь сталкивался с проблемами с этим? нашел это на stackoverflowZend Framework 2 .htaccess mamp pro которая имеет сходство с моей проблемой, но не решила ее. Может ли кто-нибудь здесь помочь мне?

Другие используемые маршруты включают в себя: проверку на наличие орфографических ошибок в коде, проверку того, что application.config.php настроил маршрут. Пожалуйста, порекомендуйте? :)

module.php

<?php
namespace Album;

use Album\Model\Album;
use Album\Model\AlbumTable;
use Zend\Db\ResultSet\ResultSet;
use Zend\Db\TableGateway\TableGateway;

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 getConfig()
    {
        return include __DIR__ . '/config/module.config.php';
    }

    public function getServiceConfig()
    {
        return array(
            'factories' => array(
                'Album\Model\AlbumTable' =>  function($sm) {
                    $tableGateway = $sm->get('AlbumTableGateway');
                    $table = new AlbumTable($tableGateway);
                    return $table;
                },
                'AlbumTableGateway' => function ($sm) {
                    $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
                    $resultSetPrototype = new ResultSet();
                    $resultSetPrototype->setArrayObjectPrototype(new Album());
                    return new TableGateway('album', $dbAdapter, null, $resultSetPrototype);
                },
            ),
        );
    }
}

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',
        ),
    ),
);

Ответы на вопрос(3)

Ваш ответ на вопрос