So out of curiosity, I tested mine, cdn.lesterchan.net and lesterchan.net, and I have the same problem! I did not link it because I have already fixed the problem before writing this blog post.
A common link between us are our CDNs are hosted by NetDNA. So I wrote to them asking is there anywhere I can solve this. They recommended me their EdgeRules add-on which provides a powerful method of controlling how edge servers interact with content and websites visitors.
I gave it a try and it works! What I did was to only allow URI with file extensions to be served by the CDN as shown in the screenshot below:
Match Type: Default Directive: REWRITE RULE ^(.*)$ http://lesterchan.net$1 permanent Conditional: $uri != RegEx (Case In-Sensitive) \.(png|jpe?g|gif|ico|html|txt|css|js)$ Rule Status: Active Purge All Files: Yes
It is a bit “hack-ish” but I guess it will do for now.
A proper way which Mark Jaquith mentioned was to CNAME the CDN to something like static.yourdomain.com and have that subdomain serve only static files.