为什么 Apache 使用 mod_fastcgi 为 PHP FPM 设置 Content-Language 标头?

为什么 Apache 使用 mod_fastcgi 为 PHP FPM 设置 Content-Language 标头?

我在使用 PHP FPM 与 Apache 和 mod_fastcgi 时遇到了一个非常奇怪的问题。每当请求 PHP 文件时,Apache 都会添加Content-Language: de到响应标头中。我实在想不通为什么会发生这种情况!我使用的是 Ubuntu 16.04,我的 Apache 版本是 2.4.18。我的 PHP FPM 是自定义版本。我使用以下配置来处理 PHP 文件:

<FilesMatch ".+\.php$">
    SetHandler php-fcgi
</FilesMatch>
Action php-fcgi /php-fcgi
Alias /php-fcgi /foo.fcgi
FastCgiExternalServer /foo.fcgi -socket /bar.sock -pass-header Authorization

启用以下 Apache 模块:actions、alias、autoindex、dir、env、fastcgi、filter、headers、mime、negotiation 和 setenvif。

模块配置保持不变。据我所知,没有设置 DefaultLanguage。

知道标题来自哪里以及如何删除它吗?

编辑

请求纯.html文本文件时,会发送以下标头:日期、服务器、连接、Keep-Alive、ETag。

当使用 请求 PHP 文件时<?php exit('Hello World');,将发送以下标头:Date、Server、Vary、Content-Encoding、Keep-Alive、Connection、Transfer-Encoding、Content-Type、Content-Language。

我不明白为什么 PHP 会添加Content-Language: de,特别是因为该服务器上的所有软件都是英文的。

答案1

我找到了原因。罪魁祸首是,它根据 CGI 脚本文件的扩展名(的第二个参数)mod_mime添加,而我的生产服务器上的 CGI 脚本文件包含。Content-LanguageAlias.de

相关内容