|
|
@@ -10,6 +10,8 @@ use Psr\Http\Message\ServerRequestInterface;
|
|
|
use Psr\Http\Server\RequestHandlerInterface;
|
|
|
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
|
|
use TYPO3\CMS\Extbase\Object\ObjectManager;
|
|
|
+use TYPO3\CMS\Frontend\Controller\ErrorController;
|
|
|
+use TYPO3\CMS\Frontend\Page\PageAccessFailureReasons;
|
|
|
|
|
|
class OtPageResolver extends \TYPO3\CMS\Frontend\Middleware\PageResolver
|
|
|
{
|
|
|
@@ -39,7 +41,17 @@ class OtPageResolver extends \TYPO3\CMS\Frontend\Middleware\PageResolver
|
|
|
$devMode = $_SERVER['TYPO3_CONTEXT'] == "Development";
|
|
|
|
|
|
$params = $request->getQueryParams();
|
|
|
- $params['id'] = $otWebsiteRepository->matchUriToPage($request->getUri(), $devMode);
|
|
|
+ $pageUid = $otWebsiteRepository->matchUriToPage($request->getUri(), $devMode);
|
|
|
+
|
|
|
+ if (!$pageUid > 0) {
|
|
|
+ return GeneralUtility::makeInstance(ErrorController::class)->pageNotFoundAction(
|
|
|
+ $request,
|
|
|
+ 'The requested page does not exist',
|
|
|
+ ['code' => PageAccessFailureReasons::PAGE_NOT_FOUND]
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ $params['id'] = $pageUid;
|
|
|
$request = $request->withQueryParams($params);
|
|
|
|
|
|
return parent::process($request, $handler);
|