404 The requested URL could not be matched by rout

2019-06-28 04:51发布

问题:

I'd just started to learn zend-framework and following this user guide.

I'm able to successfully install the zend skeleton application and moved on to the routing and controllers. But after completion of the tutorial I requested the url: http://zf2-tutorial.localhost/album in my browser and I'm getting 404.

I'd looked down into the comments where some people saying about changes in

'route' => '/album[/][:action][/:id]'

needs to be

'route' => '/album[/:action][/:id]'

but that doesn't help either. Can anyone help me in resolving the issue?

Directory structure:

回答1:

thanks to Crisp for mentioning the url in comment.

there is a missing link between zend skeleton application and routing and controllers where the initial module structure and module file code is written.

the code in my Module.php was missing is

use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
use Zend\ModuleManager\Feature\ConfigProviderInterface;
class Module implements AutoloaderProviderInterface, ConfigProviderInterface {
    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';
    }
}


回答2:

Are you sure you set the Apache webserver to create a Virtual Host (Learn how here)

Perhaps try going to localhost/album and see if that works, because by the information/routes given, this should work.