2

我正在将应用程序从 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,因为我无权这样做。我必须在这种环境下工作。

问候。

4

2 回答 2

2

豪尔赫,你可能已经找到了解决方案,因为它是一年前的帖子。无论如何我都会发布它,因为现在“duckduckgo-ing”并没有给出答案(或者我是一个糟糕的duckduckgoer)。这是我对我经常使用的惊人知识库的微小(也是第一次)贡献。

解决方案:

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.typesTypesConfig完整路径,而是与您的ServerRoot路径相关,因此请进行相应调整(如果需要)。

警告!

要检查它是否有效,首先清除您的浏览器缓存!我花了一段时间才发现服务器已经修复,但我的两个浏览器都提供了页面的旧副本,即使我确实按下了“重新加载页面”按钮。仅在我明确清除缓存后才起作用。

附言

我认为它应该在serverfault上,不是吗?

于 2013-07-20T22:23:03.367 回答
0

我有一个类似的问题,Apache 返回 Content-Type text/plain 而不是 text/html。

我为解决这个问题所做的是:

第 1 步:查找文件 mime.types 的位置。在我的 Ubuntu 框中,它是 /etc/mime.types,它应该包括以下行:

文本/html html htm shtml

第 2 步:在 apache2.conf 中,将“TypesConfig conf/mime.types”替换为“TypesConfig /etc/mime.types”。

第3步:重新启动apache,它就可以工作了。

我的 Apache 版本是:

$ /usr/sbin/apache2 -V
服务器版本:Apache/2.2.22 (Ubuntu)
于 2015-01-06T16:22:15.307 回答