我已将 Apache 2.4 服务器设置为AddDefaultCharset utf-8
httpd.conf 并且我的.htaccess
文件将所有非 www 重定向http
到https://www.example.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https//www.example.com/$1 [R=301,L,NE]
如果我查看 HTTP 响应标头,则只有发送到的流量会https://www.example.com
生成 UTF-8 响应。非 www 和 http 流量以 ISO-8859-1 字符集响应。
任何人都知道如何确保所有 URL 重定向 HTTP 响应都采用 UTF-8 格式?
这似乎是默认行为,因为 Apache 重定向响应被编码为 ISO-8859-1。但是,Apache 确实允许您通过设置环境变量来抑制
charset
响应中的参数:suppress-error-charset
但是,它不能更改为不同的字符集。
参考:
我找到了一种更改字符集而不是删除它的方法:
这将适用于所有请求,但如果您不使用 ISO-8859-1,那并不是真正的问题。