【问题标题】:ZF3: The requested URL could not be matched by routingZF3:请求的 URL 无法通过路由匹配
【发布时间】:2020-11-30 04:28:14
【问题描述】:

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

这是我的目录结构:

我的模块.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
]

【问题讨论】:

  • 您是否检查过缓存是否启用?如果是这样,请禁用它(或删除它)并重试;)
  • 那会是由'config_cache_enabled' 键入的application.config.php 中的值吗?我只是将其设置为 false 并且没有任何更改

标签: routes http-status-code-404 url-routing zend-framework3 laminas


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    相关资源
    最近更新 更多