Forcer les lecteurs d'un flux RSS à utiliser RSSCache.com (pour préserver votre serveur)
Par NiCoS le dimanche 5 février 2006, 14:55 - Trucs de geek - Lien permanent
Après la théorie abordée dans "post:204", voici la mise en pratique...
Dans votre fichier .htaccess, ajoutez :
# ## RSSCache.com, c'est bon, mangez en# RewriteCond %{HTTP_USER_AGENT} ^RSScache\.com$ RewriteRule ^backend.php3 /backend.php3
[QSA,L]RewriteRule ^backend.php3 /use_rsscache.php[QSA,L]
Si votre flux rss n'est pas à la racine et ne s'appelle pas backend.php3, il vous faut modifier la règle bien sûr 
Ensuite, créez un fichier "use_rsscache.php" contenant les lignes suivantes et qu'il vous faut adaptez à votre site :
<?php
$rssString = '<'.'?xml version="1.0" encoding="iso-8859-1"?'.'>
<rss version="2.0"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://backend.userland.com/creativeCommonsRssModule">
<channel>
<title>Destination-Linux.Org</title>
<link>http://www.destination-linux.org/</link>
<description>Passez a linux en douceur...</description>
<language>fr</language>
<generator>Destination-Linux.Org</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<ttl>3600</ttl>
<cc:license>http://creativecommons.org/licenses/by-nc-sa/1.0/</cc:license>
<webMaster>contact@destination-linux.org</webMaster>
<item>
<title>Merci d\'utiliser RSScache.com</title>
<link>http://www.rsscache.com/</link>
<description><![CDATA[
<h3 style="color: red;">VOTRE ATTENTION S\'IL VOUS PLAIT !!</h3>
<p>Pour preserver le serveur et eviter les pics de charge, merci d\'utiliser <a href="http://www.rsscache.com/">RSScache.com</a> pour lire ce flux.</p>
<p>Il suffit d\'utiliser <a href="http://my.rsscache.com/destination-linux.org/backend.php3">http://my.rsscache.com/destination-linux.org/backend.php3</a> au
lieu de http://www.destination-linux.org/backend.php3</p>
<p>Je vous encourage d\'ailleurs a utiliser ce service pour tous les flux que vous consulter !</a>
]]></description>
<pubDate>'.gmdate("D, d M Y H:i:s +0100", time()).'</pubDate>
<guid>http://www.destination-linux.org/</guid>
<dc:creator>Nicolas Steinmetz</dc:creator>
</item>
</channel>
</rss>';
header('Content-type: text/xml');
echo $rssString;
?>
Merci à Nicolas Hoizey pour ces bouts de "code", que je lui ai piqué à son insu (vive les pouvoirs du super admin) 
Commentaires
Oh le pirate ! :-p
Clair, je suis un gros h4cK3r :P