Назад | Перейти на главную страницу

Можно ли обслуживать внутренние страницы Apache по умолчанию с кодировкой utf-8?

Этот вопрос конкретно касается кодировки, которую Apache (2.2 в моем случае) использует при обслуживании внутренних страниц по умолчанию. Например, mod_autoindex списки каталогов, не найдены ErrorDocument страницы, страницы 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 по умолчанию.

Да, это возможно. Вы можете сделать это с помощью комбинации ErrorDocument, <Location> и ForceType, следующим образом:

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