Link to RSS/Atom feed, relative, doesn't work in Firefox

I have a weird problem. I generate a HTML page, hosted let's say at http://www.x.com/stuff which contains

<head>
  <link type="application/atom+xml" rel="alternate" href="/stuff/feed"/>
  ..
</head>

The result is:

  • In IE7 all works well - you can click on the feed icon in the browser and the feed is displayed
  • In Firefox, view source, click on the linked /stuff/feed and you see the source of the feed, so that works as expected
  • In Firefox, view the page (not source), then click on the feed icon in the address bar, I get an error that it can't retrieve the URL feed://http//www.x.com/stuff/feed
  • So the problem is, that it's appending feed:// to the front of the URL and then taking out the colon : after the http . I understand that feed: is HTTP anyway so perhaps the adding of that isn't a big problem.

    But anyway, the fact is, that URL Firefox generates out of my <link> tag doesn't work.

    I have considered making the URL absolute, but I haven't found any evidence that those URLs have to be absolute, nor can I understand why that would be the case. And for various reasons it would be inconvenient in my code to generate an absolute URL. I can do it if necessary but I would prefer to see proof (eg specification, or Mozilla bug report) that it's necessary before making my code messy

    What do you think? Does anyone know of any evidence that the URL should be absolute? Or am I doing something else wrong? It seems such a simple/obvious tag, where nothing could go wrong, but I can't get it to work.


    I had the same problem. IT was caused by the proxy server at work that my web traffic was going through. Firefox changed "http://server.tld/feed-url" to "feed://http//server.tld/feed-url". Since the web proxy that all my http traffic is going through does not recognize the "feed://" protocol, it rejects my request as invalid.

    The only workaround I have found so far is to manually configure the proxy settings in Firefox. Right now you probably have them automatically configured by your system. If you know your proxy information, you can instead manually configure it. Doing so only for http/https/ftp allowed me to access the feed because Firefox then handled the feed:// URL directly (which ended up with it redirecting to http:// like I wanted).

    To configure your proxy settings directly, you'll need to go to Edit -> Preferences -> Advanced -> Settings (next to "Connection"). Use manual settings. You'll have to determine the proxy settings that your system is already using.

    Note that the missing colon (mentioned by Piet) is not a bug on your site. It's a conversion that the Firefox subscribe is doing. Also note that it is not a problem caused by a relative URL as Julien suggests. Firefox is converting it to an absolute URL, but then removing the colon in the http:// protocol prefix so that it can be appended to "feed://" (changing the protocol and supplying the original absolute URL as the "URL" for the new "feed" protocol).


    Can you provide a link to your site or the specific HTML-page to see this live? Because the ATOM-feed of this question on SO is announced exactly the way you try to link your ATOM-feed:

     <link rel="alternate" type="application/atom+xml" title="Feed for question 'Link to RSS/Atom feed, relative, doesn&#39;t work in Firefox'" href="/feeds/question/4438794">
    

    This works fine with my Firefox/3.6.13 .


    The fact that the non-working base URL contains a typo is suspicious: that would happen if something is overriding it by accident.

    Does your page contain a bad base element? The base element (and RFC 1808) is not supported exactly the same across all browsers, so if you have something like this in your document (note the missing : ):

    <base href="http//www.x.com/">
    

    then it might be used inconsistently by browsers to resolve relative references, depending on element placement, rendering mode, error fallback behavior, or other factors.

    If the document contains no base element, check that you aren't accidentally introducing an incorrect base URL through some other means, such as the Content-Location HTTP header.

    链接地址: http://www.djcxy.com/p/49424.html

    上一篇: 控制者是否可以影响这个

    下一篇: 链接到RSS / Atom提要,相对而言,在Firefox中不起作用