UrlAbsolutifierModule - Convert URLs in ASP.NET Output to Absolute
So here’s the problem:
You’re running your web site or blog and you’ve got an image you want to put up. You put in the HTML something like this:
<img src="/images/myimage.gif" />
No problem - you load up the site and it looks great. You check your
RSS feed and it looks good. And why wouldn’t it? When a browser hits
your page or a reader looks at your feed, it’s all coming from
http://yoursite.com, so the site-relative URL gets translated to
http://yoursite.com/images/myimage.gif. No problemo.
Then you decide you want the benefits of a syndication site like FeedBurner - it reduces your bandwidth usage and has some other value added features. Good times. You sign up, get your feed cranking through it, and go check it out. It looks horrible - all of your image links are broken! What’s going on?
The problem is the relative URL - now that the feed is coming from
http://feeds.feedburner.com/yoursite, the relative image URL gets
http://feeds.feedburner.com/images/myimage.gif, which is
plainly wrong. Whatcha gonna do, brother, whatcha
If you have an ASP.NET-based site, I created an answer: The UrlAbsolutifierModule. It’s an HttpModule that filters through content and converts URLs in HTML tags from relative to absolute. You can even configure it to only process certain pages or handlers, so you only process, say, your RSS feed.
Note: I wrote it to be pretty aggressive - anything that looks like HTML (encoded/embedded in XML, straight HTML, a code snippet you might have embedded in a blog entry, etc.) will be updated if it’s run through this filter. If you use it, you will definitely want to be selective about which pages it processes and not just throw it carte blanche on your site. By that same token, if it’s not HTML (like if it’s your RSS feed and the URL is in the channel/link element of your feed XML), it won’t be looked at.
Included in the compiled package:
- The UrlAbsolutifierModule assembly.
- XML class documentation.
- A readme explaining how to use it with an example showing how to configure it for use with Subtext, my blog of choice.
Included in the source package:
- Source for the UrlAbsolutifierModule assembly.
- Unit tests and a demonstration web site showing it in action.
- The very same readme explaining how to use it.
Want it? Need it? Come and get it. Yours, free, at (of course) your own risk.
Version History: 1.0.0: First release.