In ResponseFactory::collectionNotFound(), the request is redirected to the Homepage controller to avoid a 404.
In which scenario is it necessary to return the homepage when it was not requested?
private function collectionNotFound(Collection $collection, Request $request, array $headers)
{
// if we don’t have a path and we’re doing cID, then this automatically fires a 404.
if (!$request->getPath() && $request->get(‘cID’)) {
return $this->notFound(‘’, Response::HTTP_NOT_FOUND, $headers);
}
// let's test to see if this is, in fact, the home page,
// and we're routing arguments onto it (which is screwing up the path.)
$home = Page::getByID(Page::getHomePageID());
$request->setCurrentPage($home);
$homeController = $home->getPageController();
$homeController->setupRequestActionAndParameters($request);
$response = $homeController->validateRequest();
if ($response instanceof \Symfony\Component\HttpFoundation\Response) {
return $response;
} elseif ($response === true) {
return $this->controller($homeController);
} else {
return $this->notFound('', Response::HTTP_NOT_FOUND, $headers);
}
}`