Ich habe eine kleine Site basierend auf Zend Framework 2.3, das auf OS X mit OS X Server läuft. Ich muss etwas entwickeln, also habe ich es auf ein Debian 7-System kopiert. Abgesehen von den Datenbankdefinitionen ist der Code auf beiden Maschinen identisch. Das Linux-basierte System funktioniert für die meisten Funktionen, aber eine führt zu einem Fehler 404 und ich kann nicht sehen, warum dies sein sollte. Die module.config.php ist array ( 'invokables' => array ( 'LibraryRest \ Controller \ AuthorRest' => 'LibraryRest \ Controller \ AuthorRestController', 'LibraryRest \ Controller \ BookTitleRest' => 'LibraryRest \ Controller \ BookTitleRestController‘, 'LibraryRest \ Regler \ RecentRest' => 'LibraryRest \ Regler \ RecentRestController' ), 'Fabriken' => array ( 'LibraryRest \ Regler \ SearchRest' => 'LibraryRest \ Fabrik \ SearchRestControllerFactory' ) ), 'router' => array ( 'routen' => array (ZF2 Routing funktioniert unter OS X aber schlägt unter Linux fehl
'author-rest' => array (
'type' => 'Segment',
'options' => array (
// Change this to something specific to your module
'route' => '/author-rest[/:id]',
'constraints' => array (
'id' => '[0-9]+'
),
'defaults' => array (
'controller' => 'LibraryRest\Controller\AuthorRest'
)
)
)
,
'booktitle-rest' => array (
'type' => 'Segment',
'options' => array (
'route' => '/booktitle-rest[/:id]',
'constraints' => array (
'id' => '[0-9]+'
),
'defaults' => array (
'controller' => 'LibraryRest\Controller\BookTitleRest'
)
)
),
'recent-rest' => array (
'type' => 'Segment',
'options' => array (
'route' => '/recent-rest',
'defaults' => array (
'controller' => 'LibraryRest\Controller\RecentRest'
)
)
),
'search-rest' => array (
'type' => 'Segment',
'options' => array (
'route' => '/search-rest[/:action[/:first][/:last]]',
'constraints' => array (
'first' => '[a-zA-Z0-9_-\s\x40%\.]*',
'last' => '[a-zA-Z0-9_-\s\x40%]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*'
),
'defaults' => array (
'controller' => 'LibraryRest\Controller\SearchRest'
)
)
)
)
),
'view_manager' => array (
'strategies' => array (
'ViewJsonStrategy'
)
)
); Die Route, die auf dem Linux-Rechner fehlschlägt, ist Such-Ruhe, also führt http://mysite/search-rest/search/John/Smith zu einem 404. Alle anderen Routen in diesem Modul funktionieren auf beiden Systemen korrekt.
Was könnte dazu führen, dass das Routing auf dem Linux-System fehlschlägt?
Wahrscheinlich ein Problem mit der Groß- und Kleinschreibung. Überprüfen Sie den Dateinamen Ihres SearchRest-Controllers. –