/ / Utiliser htaccess pour "simuler" un fichier XML? - php, xml, .htaccess, sitemap

Utiliser htaccess pour «simuler» un fichier XML? - php, xml, .htaccess, sitemap

Voici le problème que je cherche à résoudre: J'ai un site Web dynamique piloté par php qui est constamment mis à jour avec de nouveaux contenus et je souhaite que mon sitemap XML se mette à jour automatiquement. Deux options que je vois:

  1. Ecrire un script php qui interroge ma base de données pour obtenir tout mon contenu et mes sorties http://mysite.com/sitemap.xml, exécutez le script régulièrement à l’aide d’un travail cron.
  2. Créez simplement mon sitemap en tant que fichier php (sitemap.php), interrogez la base de données et écrivez directement dans ce fichier, puis utilisez la règle de réécriture htaccess RewriteRule ^sitemap.xml$ sitemap.php de sorte que chaque fois que quelqu'un demande sitemap.xml, il est redirigé vers le fichier php et obtient un nouveau fichier sitemap.

Je préférerais de loin choisir l’option n ° 2, car c’est plus simple et ne nécessite pas de cron, mais je me demande si Googlebot ne reconnaîtra pas le sitemap.xml comme valide s’il s’agit d’un fichier php?

Est-ce que quelqu'un sait si l'option n ° 2 fonctionnerait et siJe ne suis vraiment pas surpris de la difficulté que j’ai eu à résoudre ce problème ... Merci!

Réponses:

5 pour la réponse № 1

Assurez-vous simplement que votre script génère le Content-Type entête. Vous pouvez le faire avec entête().


1 pour la réponse № 2

Google obtiendra uniquement les en-têtes et le corps dela réponse. Si votre script php retourne les mêmes en-têtes et le même corps que votre serveur Web, alors techniquement, il n'y a pas de différence entre la réponse du script PHP et celle du fichier XML de votre serveur. Utilisation curl -i http://example.com/ pour examiner les en-têtes de réponse d'une demande si vous souhaitez le tester vous-même.

Ainsi, vous pouvez le faire en toute sécurité, c'est pour cela que mod_rewrite a été conçu (à côté de beaucoup d'autres choses).