如何在IBM HTTPD Server中设置Content-Type HTTP头的charset部分?
解决IBM HTTP Server中为JS/XML设置Content-Type Charset的问题
我来帮你搞定这个问题!既然你的WebSphere服务器没法正确给JS和XML文件设置完整的Content-Type头,咱们直接在IBM HTTP Server(IHS)里配置就行——毕竟IHS是基于Apache的,用Apache的标准指令就能解决。
具体配置步骤
找到IHS的配置文件
通常是安装目录下的httpd.conf,如果用了虚拟主机,也可能在对应的虚拟主机配置文件里;要是你的服务器允许使用.htaccess,也可以在应用根目录下创建这个文件来配置。添加针对JS和XML的Content-Type规则
直接在配置文件里加入以下内容,根据你的需求选一种写法就行:- 对于JavaScript文件(
.js):
分开写的方式(更清晰):
或者合并成一行:AddType application/javascript .js AddCharset UTF-8 .jsAddType application/javascript;charset=UTF-8 .js - 对于XML文件(
.xml):
如果是作为应用/xml类型:
如果是作为文本/xml类型(看你的应用需求):AddType application/xml;charset=UTF-8 .xmlAddType text/xml;charset=UTF-8 .xml
- 对于JavaScript文件(
重启IHS生效
修改完配置后,一定要重启IHS服务器才能让设置生效,执行对应的重启命令(根据你的安装路径调整):/opt/IBM/HTTPServer/bin/apachectl restart
额外注意事项
- 确保这些配置指令没有被其他后续的配置覆盖,比如放在全局配置区域或者对应虚拟主机的块里。
- 如果WebSphere应用本身有设置Content-Type的逻辑,可能需要调整WebSphere的应用配置,让它不要覆盖IHS设置的头信息。
- 配置完成后,用浏览器开发者工具的「Network」标签,加载你的应用,查看JS和XML文件的响应头,确认Content-Type已经正确显示为
application/javascript; charset=utf-8或对应的XML类型。
内容的提问来源于stack exchange,提问作者Patrick O'Hara
相关产品推荐
相关产品推荐

