ZF3: 路由无法匹配请求的 URL

ZF3: The requested URL could not be matched by routing

我是第一次设置 ZF3 项目,我似乎无法让路由工作。在我的主页上,我收到 404:“路由无法匹配请求的 URL。”

这是我的目录结构:

我的Module.php:

<?php
namespace Home;

use Laminas\ModuleManager\Feature\AutoloaderProviderInterface;
use Laminas\ModuleManager\Feature\ConfigProviderInterface;

class Module implements AutoloaderProviderInterface, ConfigProviderInterface
{
    public function getAutoloaderConfig()
    {
        return [
            'Zend\Loader\StandardAutoloader' => [
                'namespaces' => [
                    __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                ],
            ],
        ];
    }

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

以及违规路线 ('home'),在 module.config.php:

<?php
namespace Home;

return [
    'router' => [
        'routes' => [
            'home' => [
                'type' => 'Literal',
                'options' => [
                    'route' => '/',
                    'defaults' => [
                        'controller' => Controller\SkeletonController::class,
                        'action' => 'index',
                    ],
                ],
                'may_terminate' => true,
                'child_routes' => [
                    // You can place additional routes that match under the
                    // route defined above here.
                ],
            ],
        ],
    ],
    ... // Other stuff
]

在使用两个模块(Home 和 Admin)时,我在两个模块中都定义了一个 'home' 路由。我认为 'home' 只是一个神奇的字符串,所有模块都需要在其路由的顶层使用一个字符串,而实际上 所有模块中的所有顶层路由都必须唯一命名.

我将 Admin 的顶级路由重命名为 'admin',路由器能够按预期将我发送到 Home 的顶级。