Da die Anleitung etwas dürftig ist, hier nochmal die einzelnen Schritte. Die config.yaml sieht so aus:
errorHandling:
-
errorCode: '404'
errorHandler: PHP
errorPhpClassFQCN: Ophi\Blog\Error\ErrorHandling
und die zugehörige ErrorHandling.php:
<?php
namespace Ophi\Blog\Error;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use TYPO3\CMS\Core\Error\PageErrorHandler\PageErrorHandlerInterface;
use TYPO3\CMS\Core\Http\HtmlResponse;
use TYPO3\CMS\Core\Http\RedirectResponse;
use TYPO3\CMS\Extbase\Utility\DebuggerUtility;
use Ophi\Blog\Service\Debug;
class ErrorHandling implements PageErrorHandlerInterface{
public function handlePageError(ServerRequestInterface $request, string $message, array $reasons = []): ResponseInterface{
if(Debug::isTestServer()) {
DebuggerUtility::var_dump($message);
DebuggerUtility::var_dump($reasons);
return new HtmlResponse('Diese Seite liefert einen 404 Error', 404);
}
return new RedirectResponse('/404-fehlerseite', 404);
}
}
TYPO3 SHIT