我在使用 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-Language
Alias
.de