SVG images not displaying on certain web servers
The SVG image should be getting served with MIME type image/svg+xml, so I would recommend checking that first. One way to check the MIME type being served is to use wget to get the image. Here's an example of the output of wget. Note where it displays the MIME type:
[email protected]:~/tmp$ wget http://croczilla.com/bits_and_pieces/svg/samples/butterfly/butterfly.svg --2011-07-25 11:32:04-- http://croczilla.com/bits_and_pieces/svg/samples/butterfly/butterfly.svg Resolving croczilla.com... 18.104.22.168 Connecting to croczilla.com|22.214.171.124|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 31187 (30K) [image/svg+xml] Saving to: `butterfly.svg' 100%[====================================================================>] 31,187 84.5K/s in 0.4s
If the MIME type is image/svg+xml in both cases, then I would diff the content of both documents to see if there are differences between them.
Also, while this does not answer your question, you should also be aware that not all browsers support using an HTML img tag to render SVG. The reason for this is that, typically, img tags have used less security than object or embed tags. You can read here for more info on this: Reliably detecting <img> tag support for SVG
jbeard4 answer is right, but I'd like to complement it: in order to fix, you'd have to make your server serve SVG images as
image/svg+xml. On Apache, you can do that by adding these two lines to
AddType image/svg+xml svg svgz AddEncoding gzip svgz