是否可以使用字符集 utf-8 来提供 Apache 的默认内部页面?

是否可以使用字符集 utf-8 来提供 Apache 的默认内部页面?

这个问题专门针对 Apache(我的情况是 2.2)在提供其默认内部页面时使用的字符集。例如,mod_autoindex目录列表,未找到錯誤文檔页面、500-内部错误页面等等。

Apache 目前为这些内置页面使用的字符集是 iso-8859-1(见截图)。

在此处输入图片描述

以下是我的相关 Apache 设置:

# apache2.conf:

AddDefaultCharset utf-8

我的操作系统是 Debian 7,我使用的是其默认的 prefork 二进制文件。我当时想这些页面上的字符集可能无法更改。或者也许有一个编译时选项会影响默认字符集?

在我的(Debian 特定的)/etc/apache2/envvars 中,我获取了我的默认语言环境:

$ cat /etc/apache2/envvars
. /etc/default/locale

$ cat /etc/default/locale
LANG="en_US.UTF-8

$ env | grep LANG
LANG=en_US.UTF-8

使用以下方式修改 Content-Type 标头mod_headers对 Apache 的默认内部页面没有影响。

答案1

ErrorDocument是的,这是可能的。您可以使用和的组合来实现这一点<Location>ForceType如下所示:

ErrorDocument 404 /404.html
<Location /404.html>
  ForceType "text/html; charset=utf-8"
</Location>

相关内容