Estoy tratando de crear un mapa del sitio que se actualizará automáticamente. He hecho algo similar con mi feed RSS, pero este sitemap se niega a funcionar. Puede verlo en vivo en http://designdeluge.com/sitemap.xml. Creo que el problema principal es que no reconoce el código PHP. Aquí está el código fuente completo:Crear un mapa de sitio XML con PHP
<?php
include 'includes/connection.php';
header("Content-type: text/xml");
echo '<?xml version="1.0" encoding="UTF-8" ?>';
?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">
<url>
<loc>http://designdeluge.com/</loc>
<lastmod>2010-04-20</lastmod>
<changefreq>weekly</changefreq>
<priority>1.00</priority>
</url>
<url>
<loc>http://designdeluge.com/about.php</loc>
<lastmod>2010-04-20</lastmod>
<changefreq>never</changefreq>
<priority>0.5</priority>
</url>
<?php
$entries = mysql_query("SELECT * FROM Entries");
while($row = mysql_fetch_assoc($entries)) {
$title = stripslashes($row['title']);
$date = date("Y-m-d", strtotime($row['timestamp']));
echo "
<url>
<loc>http://designdeluge.com/".$title."</loc>
<lastmod>".$date."</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>";
} ?>
</urlset>
El problema es que (por ejemplo, los extraídos de la base de datos) no se están generando de la URL dinámico y el mapa del sitio no se validará. ¡Gracias!
EDITAR: Ahora mismo, estoy intentando que el código funcione. Lo tengo configurado como un archivo PHP en mi servidor de prueba local. El código de arriba está siendo usado. En este momento, nada muestra nada en la pantalla o en la fuente. Estoy pensando que cometí un error de sintaxis, pero no puedo encontrar nada. ¡Cualquier y toda ayuda es apreciada!
EDIT 2: Ok, ya lo tengo claro chicos. Aparentemente, tuve que repetir la declaración xml con PHP. El código final está publicado arriba. ¡Gracias por tu ayuda!
bien los únicos dos archivos .xml en mi servidor está usando PHP, así que no veo ningún daño. ¿Sería la primera opción algo como agregar esto a un archivo .htaccess? AddType application/x-httpd-php .xml – williamg
No estoy seguro de que esto se pueda hacer en un archivo '.htaccess' * (dependiendo de la configuración de su servidor, puede ser necesario hacerlo directamente en la configuración del servidor) * ;; pero podría intentarlo, quizás funcione :-) –
@iMaster: para que su código funcione, short_tags también debe estar desactivado (es por defecto, algo a tener en cuenta). Además, cuando visito http://designdeluge.com/sitemap.xml recibo una respuesta HTTP 500, por lo que su configuración está rota (probablemente porque está trabajando en ello ahora mismo). Por último, para sitios grandes, la generación de todo el mapa del sitio en tiempo real es probablemente inviable, por lo que si espera crecer a miles de páginas o más, prepárese para volver a implementarlo más adelante. –