3

I'm working on a website, implemented as shtml, and when I try to load the home page (http://simplyclassicremodeling.com) from IE8, it says it can't open the file because it transferred as Content-Type "text.html". The page loads fine from Chrome, and loads (with some CSS issues that are not relevant here) in Firefox.

httpd.conf has:

Options Includes Indexes FollowSymLinks ExecCGI 
AddHandler cgi-script .cgi .pl
AddType text/html .shtml
AddHandler server-parsed .shtml

and further down:

AddType text/html .shtml 
AddOutputFilter INCLUDES .shtml
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript application/javascript

The HTTP headers, from a Telnet session, are:

GET http://simplyclassicremodeling.com/ HTTP/1.0

HTTP/1.1 200 OK
Date: Fri, 27 Jan 2012 21:57:54 GMT
Server: Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.9-dev DAV/2 PHP/5.2.6
Accept-Ranges: bytes
Cache-Control: max-age=2592000, public
Expires: Sun, 26 Feb 2012 21:57:54 GMT
X-UA-Compatible: IE=Edge,chrome=1
Connection: close
Content-Type: text.html

Are the "AddType" and "AddOutputFilter" transposed? Based on this information, would you know why IE8 would think .shtml files are being sent as Content-Type: text.html? Is there a way to globally ask Apache, "If you're going to transfer as 'text.html', use 'text/html' instead?

Thanks,

Christos Hayward
  • 1,152
  • 3
  • 15
  • 35

2 Answers2

5

There is probably a bad line somewhere else in the httpd.conf or one of the Included files. I would check the main configuration and others with grep to track this down.

grep Includes httpd.conf
grep text.html httpd.conf

Alternatively, you can force the type using FilesMatch. Here's an example:

<FilesMatch "\.(shtml)$">
   # type only
   ForceType text/html
   # type and character set
   # ForceType 'text/html; charset=UTF-8'
</FilesMatch>
ytjohn
  • 417
  • 5
  • 11
1

You could try rewriting the header if the browser is IE:

BrowserMatch MSIE
SetEnvIf Request_URI "\.shtml$" msie_ssi
Header set Content-Type text/html env=msie_ssi

(Caveat: This is untested but I think should work according to the mod_setenvif documentation.)

James O'Gorman
  • 5,249
  • 2
  • 23
  • 28