如何在typo3 V10的extbase控制器中重定向到404页面

Posted

技术标签:

【中文标题】如何在typo3 V10的extbase控制器中重定向到404页面【英文标题】:How to redirect to 404 page in a extbase controller in typo3 V10 【发布时间】:2020-09-25 10:43:40 【问题描述】:

在 TYPO3 v10 中,您不能再使用 $TSFE->pageNotFoundAndExit()。但是控制器动作中的$this->request在使用ErrorController PageNotFound方法时会出现异常。

【问题讨论】:

【参考方案1】:
$TSFE->pageNotFoundAndExit() will be removed in TYPO3 v10.0. Use TYPO3's ErrorController with Request/Response objects instead.

(https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/9.2/Deprecation-83883-PageNotFoundAndErrorHandlingInFrontend.html)

在您的控制器中,您必须使用$GLOBALS['TYPO3_REQUEST'] 而不是$this->request

提示:使用ImmediateResponseException 不会调用进一步的操作。

示例方法:

   $response = GeneralUtility::makeInstance(ErrorController::class)->pageNotFoundAction(
            $GLOBALS['TYPO3_REQUEST'],
            'your 404 message'
        );
        throw new ImmediateResponseException($response, 1591428020);

【讨论】:

以上是关于如何在typo3 V10的extbase控制器中重定向到404页面的主要内容,如果未能解决你的问题,请参考以下文章

TYPO3 Extbase - 在单个视图中更改浏览器页面标题

TYPO3 v10 动作控制器和子文件夹内的模板

TYPO3 Extbase - 重定向到 pid

php TYPO3 Extbase - 按照逗号逗号列表的顺序获取产品

Typo3 7.6 extbase 存储库匹配仅影响非本地化记录

如何在 TYPO3 v10/v11 中为控制器操作参数定义正则表达式验证?