如何在TypoScript中发送HTTP状态码?

3
当特定条件满足时,我想向用户发送“403 Forbidden” HTTP状态代码,但我无法在Typoscript中找到任何可能修改HTTP头的可能性。我是否遗漏了什么或者这确实是使用Typoscript不可能实现的?
我正在使用Typo3 4.5.6版本。

我进行了一些研究,但就我所知,使用TypoScript不可能实现这一点。 - Sebs
1个回答

7

可以使用typoscript发送HTTP头。在您的情况下,应该是这样:

config.additionalHeaders = HTTP/1.0 403 Forbidden

唯一的问题是需要停止任何后续代码的执行,但Typoscript没有提供exit()函数或类似功能。因此,最简单的方法是使用USER_INT函数:

page = PAGE

//condition
[browser = msie]
  //send HTTP 403 and exit
  includeLibs.user_httpheaders = fileadmin/templates/php/user_httpheaders.php
  page.1 = USER_INT
  page.1.userFunc = user_httpheaders->user_main
[global]

文件user_httpheaders.php包含以下内容:

<?php

    class user_httpheaders {

        public function user_main() {
            header('HTTP/1.0 403 Forbidden');
            exit;
        }

    }

?>

我喜欢条件 [browser = msie] - Mateng
[browser=msie] && [version=<7]更具容忍性。 - Fedir RYKHTIK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接