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
文件时,会发送以下标头:Date、Server、Connection、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
,尤其是因为该服务器上的所有软件都是英文的。
我想到了。罪魁祸首是
mod_mime
,它Content-Language
基于 CGI 脚本文件的扩展名(的第二个参数Alias
)添加,该文件在我的生产服务器上包含.de
.