I have a Rails app that supplies an RSS feed through a controller's action. This seems to be working perfectly.

My autodiscovery link is as follows:

<link href="/home/index.rss" rel="alternate" title="RSS" type="application/rss+xml" />

Safari sees the feed, and when I click the little "RSS" icon in the location bar, it displays it correctly, however, it insists on prepending the string "http" to the URI in said location bar. This means that instead of the

feed://domain.com/home/index.rss

which I would expect to see, I have

feed:http://domain.com/home/index.rss

It doesn't do this on anyone else's feeds, and it doesn't seem to be pulling this string from anywhere in my XML. Neither the Rails nor the Apache logs show any redirections taking place, and other readers do not seem to be affected.

I've got nothing good to say about Apple's PubSub framework, so I don't expect miracles from it, but this has to be my fault in some way. Anyone have any idea where this double protocoled URI is coming from or why?

1 answer

o.k.w 2355
1
point

feed:http:// is actually recognised as a valid Uri scheme e.g.: feed:http://stackoverflow.com/feeds. The main issue is although most browsers support feed://, it is not an official Uri scheme. feed:// sometimes get parsed as feed:http:// or feed:https://. Most importantly, the mime type is set correctly on top of the XML feed content.

Refer to http://en.wikipedia.org/wiki/Feed_URI_scheme for more insight.

Answered about 9 years ago by o.k.w
  • Thanks. I know that it's valid, because it works. My question is more about how to stop Safari from doing it on my feed when it behaves differently for everyone else's. Nathan Duran about 9 years ago