Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We have a VPS server that we host our websites on. I have written a CMS using CodeIgniter. On one of the interfaces, I am attempting to upload a css file to the system. This worked correctly when we had it hosted on shared hosting. Since we've moved it to the VPS, I am getting an "incorrect filetype" error.

It all comes down to the fact that the server is reporting a mime type of text/x-c for the css file rather than text/css.

I logged in via shell and ran the following command on an existing valid css file (to make sure it wasn't an issue with either CodeIgniter or with php).

file --brief --mime 'filename.css' 2>&1

The server gave me the following in response to my command:

text/x-c; charset=us-ascii

My question ... is there some sort of server setting that I need to tweak to get the server to correctly identify the css file as text/css?

Do I just have to add a mime type for the css files to the server? I found the mime types file (etc/mime.types), and it just hase video types and a couple other that I have no idea what they are. There is nothing in there for css or images or html files. Unless I'm looking in the wrong spot.

I'm not a server person, so I'm hoping someone can help me out.

Some server specs:

  • Apache/2.2.22 (Unix)
  • php 5.3.13
  • Server API = CGI/FastCGI
  • the fileinfo php extension appears to be disabled
share|improve this question

migrated from stackoverflow.com Oct 2 '12 at 21:15

This question came from our site for professional and enthusiast programmers.

    
I voted to move this to serverfault since it's not a programming question. –  Wug Oct 2 '12 at 15:39
    
You might want to file a bug against the file package. For text files, they are pretty much tied to weak heuristics (the magic library only examines content, not file name extensions etc) but it should not be too hard for them to prevent obvious false positives. They'll probably want a copy of the file which caused the false positive if you can provide it. –  tripleee Oct 3 '12 at 6:44
1  
Sad to say, but I gave up. Hosting support told me to contact CodeIgniter support (basically passing the buck). I just modified my mimes config file so that CodeIgniter would think a mime type of "text/x-c" was a css file. Luckily the only place css files can be uploaded is an interface only I have access to. It's a bandaid, but I don't know enough about servers to try to figure out the issue. –  Becky Oct 4 '12 at 14:55
    
@Becky - if you happen to run across a solution please post back. I have a similar problem and other than blowing out the entire apache installation and resintalling, I don't know what else to do. css is listed in /etc/mime.types, but is still being served as text/html. serverfault.com/questions/436481/… –  a coder Oct 10 '12 at 12:05

2 Answers 2

have you tried adding

AddType text/css css

to your .htaccess file?

share|improve this answer
    
I did try that. It didn't help. I'm not sure if the directive is being ignored or not. I think I would need to modify the httpd.conf file, but I'm not comfortable doing that. I submitted a ticket to the host. –  Becky Oct 2 '12 at 16:28
    
what OS are you running? –  thelastshadow Oct 2 '12 at 16:29
    
I believe it's Apache 2.2.22 (Unix) with php 5.3.13. –  Becky Oct 2 '12 at 16:31

Modify the mime.types file by adding the following:

text/css     css 

Below are the contents of the mime.types file I use on one of my Apache servers. I am fairly certain that it covers pretty much all types of files that your (or any) server may serve up to users. I would suggest making the change to your VPS's mime.types file to include everything below, especially if there is nothing there relating to css, images, or html files.

# MIME type         Extension
application/EDI-Consent
application/EDI-X12
application/EDIFACT
application/activemessage
application/andrew-inset    ez
application/applefile
application/atomicmail
application/batch-SMTP
application/beep+xml
application/cals-1840
application/commonground
application/cybercash
application/dca-rft
application/dec-dx
application/dvcs
application/eshop
application/http
application/hyperstudio
application/iges
application/index
application/index.cmd
application/index.obj
application/index.response
application/index.vnd
application/iotp
application/ipp
application/isup
application/font-tdpfr
application/mac-binhex40    hqx
application/mac-compactpro  cpt
application/macwriteii
application/marc
application/mathematica
application/mathematica-old
application/msword      doc
application/news-message-id
application/news-transmission
application/ocsp-request
application/ocsp-response
application/octet-stream    bin dms lha lzh exe class so dll
application/oda         oda
application/parityfec
application/pdf         pdf
application/pgp-encrypted
application/pgp-keys
application/pgp-signature
application/pkcs10
application/pkcs7-mime
application/pkcs7-signature
application/pkix-cert
application/pkix-crl
application/pkixcmp
application/postscript      ai eps ps
application/prs.alvestrand.titrax-sheet
application/prs.cww
application/prs.nprend
application/qsig
application/remote-printing
application/riscos
application/rtf
application/sdp
application/set-payment
application/set-payment-initiation
application/set-registration
application/set-registration-initiation
application/sgml
application/sgml-open-catalog
application/sieve
application/slate
application/smil        smi smil
application/timestamp-query
application/timestamp-reply
application/vemmi
application/vnd.3M.Post-it-Notes
application/vnd.FloGraphIt
application/vnd.accpac.simply.aso
application/vnd.accpac.simply.imp
application/vnd.acucobol
application/vnd.aether.imp
application/vnd.anser-web-certificate-issue-initiation
application/vnd.anser-web-funds-transfer-initiation
application/vnd.audiograph
application/vnd.businessobjects
application/vnd.bmi
application/vnd.canon-cpdl
application/vnd.canon-lips
application/vnd.claymore
application/vnd.commerce-battelle
application/vnd.commonspace
application/vnd.comsocaller
application/vnd.contact.cmsg
application/vnd.cosmocaller
application/vnd.cups-postscript
application/vnd.cups-raster
application/vnd.cups-raw
application/vnd.ctc-posml
application/vnd.cybank
application/vnd.dna
application/vnd.dpgraph
application/vnd.dxr
application/vnd.ecdis-update
application/vnd.ecowin.chart
application/vnd.ecowin.filerequest
application/vnd.ecowin.fileupdate
application/vnd.ecowin.series
application/vnd.ecowin.seriesrequest
application/vnd.ecowin.seriesupdate
application/vnd.enliven
application/vnd.epson.esf
application/vnd.epson.msf
application/vnd.epson.quickanime
application/vnd.epson.salt
application/vnd.epson.ssf
application/vnd.ericsson.quickcall
application/vnd.eudora.data
application/vnd.fdf
application/vnd.ffsns
application/vnd.framemaker
application/vnd.fsc.weblaunch
application/vnd.fujitsu.oasys
application/vnd.fujitsu.oasys2
application/vnd.fujitsu.oasys3
application/vnd.fujitsu.oasysgp
application/vnd.fujitsu.oasysprs
application/vnd.fujixerox.ddd
application/vnd.fujixerox.docuworks
application/vnd.fujixerox.docuworks.binder
application/vnd.fut-misnet
application/vnd.grafeq
application/vnd.groove-account
application/vnd.groove-identity-message
application/vnd.groove-injector
application/vnd.groove-tool-message
application/vnd.groove-tool-template
application/vnd.groove-vcard
application/vnd.hhe.lesson-player
application/vnd.hp-HPGL
application/vnd.hp-PCL
application/vnd.hp-PCLXL
application/vnd.hp-hpid
application/vnd.hp-hps
application/vnd.httphone
application/vnd.hzn-3d-crossword
application/vnd.ibm.afplinedata
application/vnd.ibm.MiniPay
application/vnd.ibm.modcap
application/vnd.informix-visionary
application/vnd.intercon.formnet
application/vnd.intertrust.digibox
application/vnd.intertrust.nncp
application/vnd.intu.qbo
application/vnd.intu.qfx
application/vnd.irepository.package+xml
application/vnd.is-xpr
application/vnd.japannet-directory-service
application/vnd.japannet-jpnstore-wakeup
application/vnd.japannet-payment-wakeup
application/vnd.japannet-registration
application/vnd.japannet-registration-wakeup
application/vnd.japannet-setstore-wakeup
application/vnd.japannet-verification
application/vnd.japannet-verification-wakeup
application/vnd.koan
application/vnd.lotus-1-2-3
application/vnd.lotus-approach
application/vnd.lotus-freelance
application/vnd.lotus-notes
application/vnd.lotus-organizer
application/vnd.lotus-screencam
application/vnd.lotus-wordpro
application/vnd.mcd
application/vnd.mediastation.cdkey
application/vnd.meridian-slingshot
application/vnd.mif     mif
application/vnd.minisoft-hp3000-save
application/vnd.mitsubishi.misty-guard.trustweb
application/vnd.mobius.daf
application/vnd.mobius.dis
application/vnd.mobius.msl
application/vnd.mobius.plc
application/vnd.mobius.txf
application/vnd.motorola.flexsuite
application/vnd.motorola.flexsuite.adsi
application/vnd.motorola.flexsuite.fis
application/vnd.motorola.flexsuite.gotap
application/vnd.motorola.flexsuite.kmr
application/vnd.motorola.flexsuite.ttc
application/vnd.motorola.flexsuite.wem
application/vnd.mozilla.xul+xml
application/vnd.ms-artgalry
application/vnd.ms-asf
application/vnd.ms-excel    xls
application/vnd.ms-lrm
application/vnd.ms-powerpoint   ppt
application/vnd.ms-project
application/vnd.ms-tnef
application/vnd.ms-works
application/vnd.mseq
application/vnd.msign
application/vnd.music-niff
application/vnd.musician
application/vnd.netfpx
application/vnd.noblenet-directory
application/vnd.noblenet-sealer
application/vnd.noblenet-web
application/vnd.novadigm.EDM
application/vnd.novadigm.EDX
application/vnd.novadigm.EXT
application/vnd.osa.netdeploy
application/vnd.palm
application/vnd.pg.format
application/vnd.pg.osasli
application/vnd.powerbuilder6
application/vnd.powerbuilder6-s
application/vnd.powerbuilder7
application/vnd.powerbuilder7-s
application/vnd.powerbuilder75
application/vnd.powerbuilder75-s
application/vnd.previewsystems.box
application/vnd.publishare-delta-tree
application/vnd.pvi.ptid1
application/vnd.pwg-xhtml-print+xml
application/vnd.rapid
application/vnd.s3sms
application/vnd.seemail
application/vnd.shana.informed.formdata
application/vnd.shana.informed.formtemplate
application/vnd.shana.informed.interchange
application/vnd.shana.informed.package
application/vnd.sss-cod
application/vnd.sss-dtf
application/vnd.sss-ntf
application/vnd.street-stream
application/vnd.svd
application/vnd.swiftview-ics
application/vnd.triscape.mxs
application/vnd.trueapp
application/vnd.truedoc
application/vnd.tve-trigger
application/vnd.ufdl
application/vnd.uplanet.alert
application/vnd.uplanet.alert-wbxml
application/vnd.uplanet.bearer-choice-wbxml
application/vnd.uplanet.bearer-choice
application/vnd.uplanet.cacheop
application/vnd.uplanet.cacheop-wbxml
application/vnd.uplanet.channel
application/vnd.uplanet.channel-wbxml
application/vnd.uplanet.list
application/vnd.uplanet.list-wbxml
application/vnd.uplanet.listcmd
application/vnd.uplanet.listcmd-wbxml
application/vnd.uplanet.signal
application/vnd.vcx
application/vnd.vectorworks
application/vnd.vidsoft.vidconference
application/vnd.visio
application/vnd.vividence.scriptfile
application/vnd.wap.sic
application/vnd.wap.slc
application/vnd.wap.wbxml   wbxml
application/vnd.wap.wmlc    wmlc
application/vnd.wap.wmlscriptc  wmlsc
application/vnd.webturbo
application/vnd.wrq-hp3000-labelled
application/vnd.wt.stf
application/vnd.xara
application/vnd.xfdl
application/vnd.yellowriver-custom-menu
application/whoispp-query
application/whoispp-response
application/wita
application/wordperfect5.1
application/x-bcpio     bcpio
application/x-cdlink        vcd
application/x-chess-pgn     pgn
application/x-compress
application/x-cpio      cpio
application/x-csh       csh
application/x-director      dcr dir dxr
application/x-dvi       dvi
application/x-futuresplash  spl
application/x-gtar      gtar
application/x-gzip
application/x-hdf       hdf
application/x-javascript    js
application/x-koan      skp skd skt skm
application/x-latex     latex
application/x-netcdf        nc cdf
application/x-sh        sh
application/x-shar      shar
application/x-shockwave-flash   swf
application/x-stuffit       sit
application/x-sv4cpio       sv4cpio
application/x-sv4crc        sv4crc
application/x-tar       tar
application/x-tcl       tcl
application/x-tex       tex
application/x-texinfo       texinfo texi
application/x-troff     t tr roff
application/x-troff-man     man
application/x-troff-me      me
application/x-troff-ms      ms
application/x-ustar     ustar
application/x-wais-source   src
application/x400-bp
application/xhtml+xml       xhtml xht
application/xml
application/xml-dtd
application/xml-external-parsed-entity
application/zip         zip
audio/32kadpcm
audio/basic         au snd
audio/g.722.1
audio/l16
audio/midi          mid midi kar
audio/mp4a-latm
audio/mpa-robust
audio/mpeg          mpga mp2 mp3
audio/parityfec
audio/prs.sid
audio/telephone-event
audio/tone
audio/vnd.cisco.nse
audio/vnd.cns.anp1
audio/vnd.cns.inf1
audio/vnd.digital-winds
audio/vnd.everad.plj
audio/vnd.lucent.voice
audio/vnd.nortel.vbk
audio/vnd.nuera.ecelp4800
audio/vnd.nuera.ecelp7470
audio/vnd.nuera.ecelp9600
audio/vnd.octel.sbc
audio/vnd.qcelp
audio/vnd.rhetorex.32kadpcm
audio/vnd.vmx.cvsd
audio/x-aiff            aif aiff aifc
audio/x-mpegurl         m3u
audio/x-pn-realaudio        ram rm
audio/x-pn-realaudio-plugin rpm
audio/x-realaudio       ra
audio/x-wav         wav
chemical/x-pdb          pdb
chemical/x-xyz          xyz
image/bmp           bmp
image/cgm
image/g3fax
image/gif           gif
image/ief           ief
image/jpeg          jpeg jpg jpe
image/naplps
image/png           png
image/prs.btif
image/prs.pti
image/tiff          tiff tif
image/vnd.cns.inf2
image/vnd.djvu          djvu djv
image/vnd.dwg
image/vnd.dxf
image/vnd.fastbidsheet
image/vnd.fpx
image/vnd.fst
image/vnd.fujixerox.edmics-mmr
image/vnd.fujixerox.edmics-rlc
image/vnd.mix
image/vnd.net-fpx
image/vnd.svf
image/vnd.wap.wbmp      wbmp
image/vnd.xiff
image/x-cmu-raster      ras
image/x-portable-anymap     pnm
image/x-portable-bitmap     pbm
image/x-portable-graymap    pgm
image/x-portable-pixmap     ppm
image/x-rgb         rgb
image/x-xbitmap         xbm
image/x-xpixmap         xpm
image/x-xwindowdump     xwd
message/delivery-status
message/disposition-notification
message/external-body
message/http
message/news
message/partial
message/rfc822
message/s-http
model/iges          igs iges
model/mesh          msh mesh silo
model/vnd.dwf
model/vnd.flatland.3dml
model/vnd.gdl
model/vnd.gs-gdl
model/vnd.gtw
model/vnd.mts
model/vnd.vtu
model/vrml          wrl vrml
multipart/alternative
multipart/appledouble
multipart/byteranges
multipart/digest
multipart/encrypted
multipart/form-data
multipart/header-set
multipart/mixed
multipart/parallel
multipart/related
multipart/report
multipart/signed
multipart/voice-message
text/cache-manifest     appcache manifest
text/calendar
text/css            css
text/directory
text/enriched
text/html           html htm
text/parityfec
text/plain          asc txt
text/prs.lines.tag
text/rfc822-headers
text/richtext           rtx
text/rtf            rtf
text/sgml           sgml sgm
text/tab-separated-values   tsv
text/t140
text/uri-list
text/vnd.DMClientScript
text/vnd.IPTC.NITF
text/vnd.IPTC.NewsML
text/vnd.abc
text/vnd.curl
text/vnd.flatland.3dml
text/vnd.fly
text/vnd.fmi.flexstor
text/vnd.in3d.3dml
text/vnd.in3d.spot
text/vnd.latex-z
text/vnd.motorola.reflex
text/vnd.ms-mediapackage
text/vnd.wap.si
text/vnd.wap.sl
text/vnd.wap.wml        wml
text/vnd.wap.wmlscript      wmls
text/x-setext           etx
text/xml            xml xsl
text/xml-external-parsed-entity
video/mp4v-es
video/mpeg          mpeg mpg mpe
video/parityfec
video/pointer
video/quicktime         qt mov
video/vnd.fvt
video/vnd.motorola.video
video/vnd.motorola.videop
video/vnd.mpegurl       mxu
video/vnd.mts
video/vnd.nokia.interleaved-multimedia
video/vnd.vivo
video/x-msvideo         avi
video/x-sgi-movie       movie
x-conference/x-cooltalk     ice
share|improve this answer
    
Apparently the "text/css" value is already in the mime.types file. Which is why I am confused that the server is returning "text/x-c". The host support is telling me to contact CodeIgniter support to fix the issue. I'm not sure how it's a CI issue when the server, separate from CI, is giving me the wrong value. I'm at a loss ... –  Becky Oct 3 '12 at 12:56
    
Yeah, I can't see how it would be a CI issue either, especially if the application was working fine on a when on another Apache server (even if it was a shared server). –  Craine Oct 3 '12 at 14:20
    
It's not a CI issue. Not if shell is returning the wrong type. Maybe it's how you transferred the files? If you used ftp check your transfer settings. –  thelastshadow Oct 3 '12 at 17:31
    
If you can ssh into the server and get to the directory that the CSS file is in, do a ls -al and see what the full filename and extension of the file is. As thelastshadow suggested, maybe the file got messed up during transfer? –  Craine Oct 3 '12 at 20:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.