When you request a page with an extension other than "html" or "htm" the browser displays the HTML source instead of the page. You are using dispatcher.
What you have encountered happens when the web server returns a content type of
text/plain for all unknown extension. IE will display the content properly, Firefox have this problem as it follows the http header strictly.
This occurs for cached content by the dispatcher, if you use the URL
you will see that the content is displayed correctly, as the content is served from the CQ instance with the correct content type been set.
To change the web server behavior, you will need to change the default mime type to be
If you are using Apache, modify your http.conf, look for
DefaultType and change the value to
For other web server, you will need to check out the web server documentation on how to change the default mime type.
After changing the configuration, restart the web server, clear your browser cache