我正在将应用程序从HP-UX迁移到Solaris
Apache 1.3.27 HP-UX B.11.11 U 9000/800 Solaris SunOS 5.10 Generic_147440-10 sun4u sparc SUNW,SPARC-Enterprise
在solaris中,我的整个应用程序工作正常,只有一个页面没有被解释。 我的网络服务器正在向我的网页发回错误的内容类型。它不是发送text / html,而是发送text / plain。我已经用Fiddler检查了这个。 当我访问资源时,我只看到html代码,作为纯文本。 CGI脚本没问题。 我已经在httpd.conf文件中将DefaultType更改为text / html。 此外,mime.types文件还具有内容类型.html和.htm扩展名 我可以在httpd.conf文件中设置一些其他参数来发送正确的内容类型吗?
PS。我无法升级apache,因为我没有被授权这样做。我必须使用这种环境。
问候。
答案 0 :(得分:2)
<强>解决方案:强>
应添加和配置模块mime
。
我发现如果模块被加载(内置到Apache或mod_mime.so),但文件mime.types
不存在(或位于其他地方,而不是我说“它说”它在我的TypesConfig)然后Apache没有开始生成错误消息。如果模块未加载(或未编译),那么我将 text / plain而不是text / html 与主题启动器完全相同。
检查模块是否已编译为Apache可执行文件(以检查该类型
#httpd -l
或
#apache2 -l
取决于系统上的调用方式)。如果没有编译,那么你需要在httpd.conf中手动添加它(或者apache2.conf,再取决于你的系统)
LoadModule mime_module {full path to your mod_mime.so without the braces}
您可以使用命令find
找到它所在的位置#find / -name mod_mime.so
然后,在httpd.conf下面的某处添加以下行
# mime
TypesConfig conf/mime.types
DefaultType text/plain
然后重新启动Apache。请注意mime.types
中文件TypesConfig
的路径不是文件的完整路径,而是与您的ServerRoot
路径相关,因此请相应调整(如果需要)。
<强>注意!强>
要检查它是否有效首先清除浏览器缓存!我花了一段时间才发现服务器已经修复,但我的浏览器都提供了一个旧版本的页面,即使我按下了“重新加载页面”按钮。只有在我明确清除缓存后才能工作。
<强> PS 强>
我认为应该是 serverfault ,不应该吗?
答案 1 :(得分:0)
我遇到类似的问题,Apache返回的是Content-Type text / plain而不是text / html。
我为解决这个问题所做的是:
步骤1:找到文件mime.types的位置。在我的Ubuntu框中,它是 /etc/mime.types,应包括以下行:
text/html html htm shtml
步骤2:在apache2.conf中,将“TypesConfig conf / mime.types”替换为“TypesConfig /etc/mime.types”。
第3步:重启apache并运行。
我的Apache版本是:
$ /usr/sbin/apache2 -V Server version: Apache/2.2.22 (Ubuntu)