Project

General

Profile

When ".css" is added to ssi.extension then CSS can no longer be delivered as mimetype "text/css"

Added by jesse-k over 13 years ago

For a strange use case, I've added ".css" to ssi.extension. However, now CSS files are delivered with the mimetype "text/html" instead of "text/css" which makes CSS not load in pages that properly link to them (e.g. <link href="css.css" media="screen, print" rel="stylesheet" type="text/css" />).
Is there a way around this? Is this by design, or a bug?

Using Fedora 16 with lighttpd 1.4.28

Firefox web console reports:
[15:29:20.815] The stylesheet ... was not loaded because its MIME type, "text/html", is not "text/css". ...

/etc/lighttpd/conf.d/ssi.conf:
#######################################################################
##
## Server Side Includes
## -----------------------
##
## see /usr/share/doc/packages/lighttpd/ssi.html
##
server.modules += ( "mod_ssi" )

##
## which extensions should be ran through mod_ssi.
##
ssi.extension = ( ".shtml", ".inc", ".INC", ".htm", ".html", ".css" )

##
#######################################################################

/etc/lighttpd/conf.d/mime.conf:
#######################################################################
##
## MimeType handling
## -------------------
##
## http://www.lighttpd.net/documentation/configuration.html#mimetypes
##
## Use the "Content-Type" extended attribute to obtain mime type if
## possible
##
mimetype.use-xattr = "enable"

##
## mimetype mapping
##
mimetype.assign = (
".pdf" => "application/pdf",
".sig" => "application/pgp-signature",
".spl" => "application/futuresplash",
".class" => "application/octet-stream",
".ps" => "application/postscript",
".torrent" => "application/x-bittorrent",
".dvi" => "application/x-dvi",
".gz" => "application/x-gzip",
".pac" => "application/x-ns-proxy-autoconfig",
".swf" => "application/x-shockwave-flash",
".tar.gz" => "application/x-tgz",
".tgz" => "application/x-tgz",
".tar" => "application/x-tar",
".zip" => "application/zip",
".mp3" => "audio/mpeg",
".m3u" => "audio/x-mpegurl",
".wma" => "audio/x-ms-wma",
".wax" => "audio/x-ms-wax",
".ogg" => "application/ogg",
".wav" => "audio/x-wav",
".gif" => "image/gif",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".png" => "image/png",
".xbm" => "image/x-xbitmap",
".xpm" => "image/x-xpixmap",
".xwd" => "image/x-xwindowdump",
".css" => "text/css",
".html" => "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".asc" => "text/plain",
".c" => "text/plain",
".cpp" => "text/plain",
".log" => "text/plain",
".conf" => "text/plain",
".text" => "text/plain",
".txt" => "text/plain",
".spec" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml",
".mpeg" => "video/mpeg",
".mpg" => "video/mpeg",
".mov" => "video/quicktime",
".qt" => "video/quicktime",
".avi" => "video/x-msvideo",
".asf" => "video/x-ms-asf",
".asx" => "video/x-ms-asf",
".wmv" => "video/x-ms-wmv",
".bz2" => "application/x-bzip",
".tbz" => "application/x-bzip-compressed-tar",
".tar.bz2" => "application/x-bzip-compressed-tar",
".rpm" => "application/x-rpm",
# make the default mime type application/octet-stream.
"" => "application/octet-stream",
)

#
#######################################################################