Merci à la talentueuse rédactrice du “Petit Dotclear Enchantier” qui m'a donné la force de ce coming-out, ceci est la publication d'un mail initialement pour mes amis.

Mon problème : faire comprendre à Google et aux utilisateurs de rss que j'ai déplacé l'url de mon site de http://dascritch.ath.cx en http://dascritch.net, passant parla même de mon pc à côté de mon lit à un prestataire de service.

J'ai rouvert mon ancien site, avec un serveur apache à poil, sans interpréteur php (ni cgi-bin qui m'avait troué mon pc chez moi avec un LMZ, oui, me suis fait piraté mon pc comme un con à cause d'un vieux awstat oublié dans une arbo mal patchée... Comme quoi, Marc, ça arrive même aux “consciencieux”...)

Dans la racine de son répertoire web, .htaccess
<FilesMatch "[^rss.php]">
Redirect 301 / http://dascritch.net/
</FilesMatch>
un petit regex qui redirige définitivement (code 301*) toute requête vers le nouveau site. Sauf pour les fichiers "rss.php"

dans un répertoire dotclear vierge, fichier .htaccess

AddType text/xml .php
donnera automatiquement un "bon" mime-type de rss (çui là n'est pas le bon,mais ça semble convenir) en servant un fichier texte qui ne sera pas interprété). Et l'accompagnant, à la même url que l'ancien fil rss, le fichier invitant à une redirection :

<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://www.dascritch.net/blog.php/">
  <title>da scritch blog zone</title>
  <description><![CDATA[]]></description>
  <link>http://www.dascritch.net/blog.php/</link>
  <dc:language>fr</dc:language>
  <dc:creator></dc:creator>
  <dc:rights></dc:rights>
  <dc:date>2006-04-10T22:20:53+00:00</dc:date>
  <admin:generatorAgent rdf:resource="http://www.dotclear.net/" />

  <sy:updatePeriod>daily</sy:updatePeriod>
  <sy:updateFrequency>1</sy:updateFrequency>
  <sy:updateBase>2006-04-10T22:20:53+00:00</sy:updateBase>

  <items>
  <rdf:Seq>
    <rdf:li rdf:resource="http://www.dascritch.net/" />
  </rdf:Seq>
  </items>
</channel>

<item rdf:about="http://www.dascritch.net/">
  <title>L'URL DU SITE A CHANGÉ</title>
  <link>http://www.dascritch.net/</link>
  <dc:date>2006-04-11T22:20:53+00:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Da Scritch</dc:creator>
  <dc:subject></dc:subject>
  <description>Rendez-vous désormais sur www.dascritch.net.
Et mettez à jours vos fils rss !</description>
  <content:encoded><![CDATA[<p><a href="http://dascritch.net/">Rendez-vous
désormais sur www.dascritch.net. Et mettez à jour vos fils rss !</a></p>
]]></content:encoded>
</item>
</rdf:RDF>

Une seule entrée, datée de dans un an (à indiquer trois fois, format ISO 8601 recommandé par le W3C) pour qu'il soit toujours en tête des classements chronologiques des aggrégateurs, indiquant bien quelle est la nouvelle adresse. Radical : En trois jours, les 9 agents qui n'avaient toujours pas changés d'adresse sont sur le nouveau site. (À ce sujet, ceux qui comme moi ont un aggrégateur en ligne, si on faisait comme les spidder, à savoir mettre une url dans le User Agent des requêtes ?)

Voilà, normalement, c'est blindé et ça devrait marcher. le site .ath.cx est sur un serveur en ip flottante. Essayez http://dascritch.ath.cx puis http://dascritch.ath.cx/dotclear/rss.php. pour les “vrais” utilisateurs du net sous unix, à essayer avec la commande curl -i http://adresse, ce qui donne l'entête http en prime.

* Le redirect standard (code 302) n'entraîne pas une màj de Google. À ce jour, Google est le seul à ne pas parser mon site, s'arrêtant à la racine et au robots.txt sans réelle explication... frustrant.