在zend中删除http响应头

Art*_*tur 3 php zend-framework http-headers

我在Zend Framework(1)中的应用程序有问题.

在一个特定的操作中,我尝试删除一些标题但作为响应我仍然收到这些标题:

    $this->getResponse->clearAllHeaders()
                      ->clearRawHeaders();
    $this->getResponse->setHeader('A-Header', 'headervalue');
Run Code Online (Sandbox Code Playgroud)

我希望回复是:

    HTTP/1.1 XXX Some HTTP status code
    A-Header: headervalue
Run Code Online (Sandbox Code Playgroud)

但它是:

   HTTP/1.1 XXX Some HTTP status code
   Date: Sun, 14 Apr 2013 16:26:59 GMT
   Server: Apache/2.2.16 (Debian)
   X-Powered-By: PHP/5.3.3-7+squeeze15
   Vary: Accept-Encoding
   Content-Length: 0
   Content-Type: text/html
Run Code Online (Sandbox Code Playgroud)

如何删除日期,服务器,X-Powered-By,Vary,Content-Lenght,Content-Type?至少Content*标题.

谢谢

hai*_*770 7

这些标题由Apache附加.

您可以使用它mod_headers来控制其行为:

http://httpd.apache.org/docs/2.2/mod/mod_headers.html

例:

<IfModule mod_headers.c>
  Header unset Server
  Header unset X-Powered-By
</IfModule>
Run Code Online (Sandbox Code Playgroud)

  • 你需要`mod_mime`并使用`RemoveType`指令.但我不确定它是否会让你剥离日期和内容长度,因为这些是HTTP标准所要求的. (2认同)
  • 还要确保使用`ServerSignature Off`和`SeverTokens Prod`. (2认同)