0

请注意“在 ZF2 中发生 404 错误“请求的 URL 无法通过路由匹配”。

给我带来麻烦的部分是:

'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(
                    '__NAMESPACE__' => 'Album\Controller',
                    'controller'    => 'Album\Controller\Album',
                    'action'        => 'index',
                ),
            ),
        ),
    ),
),
4

3 回答 3

0

1) 在类型中使用“segment”而不是“Segment”。2) 在路由中
使用 route' => '/album[/][:action][/:id]',

而不是 'route' => '/album[/:action][/:id]',

3)

于 2013-10-03T06:02:56.317 回答
0

你的路线是对的!(不需要默认命名空间)

// The following section is new and should be added to your file
'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',
    ),
),

你必须在 application.config.php 中添加你的模块(你说你已经完成了。)

// This should be an array of module namespaces used in the application.
'modules' => array(
    'Application',
    'Album'
),
于 2013-07-16T06:41:15.533 回答
-1

add

// getAutoloaderConfig() and getConfig() methods here
    public function getAutoloaderConfig() { 
        return array( 
            'Zend\Loader\StandardAutoloader' => array( 
                'namespaces' => array( 
                    __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, 
                ), 
            ), 
        ); 
    } 

    public function getConfig() { 
        return include __DIR__ . '/config/module.config.php'; 
    } 

Module.php

于 2014-07-25T01:37:50.513 回答