URL of RSS Feed Is Brittle
Permalink 1 user found helpful
If you create an RSS feed from a page list, or from one of the addons such as Pro News, the URL of the feed is dynamically created in part from an internal (to C5) block ID number. Problem is, if you move the block to another page then it will receive a new and different block ID number. Consequently all site readers who have subscribed to, or bookmarked that feed are hosed. Clearly there is a need for the site developer to be able to define the URL of the generated feed.
This "building" forum seems to be the most appropriate place to bring this up, which is why I'm posting it here. It seems that the design of C5 did not anticipate a longevity requirement for feed URLs and it would be a good thing if such a feature could be incorporated into a future release.
This "building" forum seems to be the most appropriate place to bring this up, which is why I'm posting it here. It seems that the design of C5 did not anticipate a longevity requirement for feed URLs and it would be a good thing if such a feature could be incorporated into a future release.
I concur.
I've got round this problem by adding an additional mod rewrite rule to the .htaccess file as follows:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule news.rss /index.php/tools/blocks/page_list/rss?bID=200&cID=100&arHandle=Content
This allows the rss feed to be accessed viahttp://www.domain.com/news.rss
If the real URL of the feed changes, I can do this without affecting any subscribers.
The downside with this is that you'll have to embed the feed manually rather than relying on the block to do it automatically.
I should also add that I use this solution for two other reasons:
1) If you tamper with the variables in the query string of the default address you get some ugly error messages.
2) The default (and automatic) embedding of the RSS feed within the page causes markup errors.
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule news.rss /index.php/tools/blocks/page_list/rss?bID=200&cID=100&arHandle=Content
This allows the rss feed to be accessed viahttp://www.domain.com/news.rss
If the real URL of the feed changes, I can do this without affecting any subscribers.
The downside with this is that you'll have to embed the feed manually rather than relying on the block to do it automatically.
I should also add that I use this solution for two other reasons:
1) If you tamper with the variables in the query string of the default address you get some ugly error messages.
2) The default (and automatic) embedding of the RSS feed within the page causes markup errors.
works like a charm! Thanks a lot!
Strangely, this didn't work for me... The fix I came up with looks like this in the .htaccess of my DocumentRoot:
RewriteRule ^/news.rss$ /index.php/tools/blocks/page_list/blog_rss?bID=175&cID=1&arHandle=Main
I highly recommend the "RSS Feed Creator" addon for this purpose:
http://www.concrete5.org/marketplace/addons/rss-feed-manager/...
(Unfortunately it's not free, but well worth the $15 if you are building a site for a client and have a budget).
http://www.concrete5.org/marketplace/addons/rss-feed-manager/...
(Unfortunately it's not free, but well worth the $15 if you are building a site for a client and have a budget).