Sto tentando di creare una sitemap che verrà aggiornata automaticamente. Ho fatto qualcosa di simile al mio feed RSS, ma questa sitemap si rifiuta di funzionare. Puoi vederlo dal vivo allo http://designdeluge.com/sitemap.xml Penso che il problema principale sia che non riconosce il codice PHP. Ecco il sorgente completo:Creazione di una sitemap 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>
Il problema è che (per esempio quelli tirati dal DB) non vengono generati del URL dinamico e la mappa del sito non convalida. Grazie!
MODIFICA: In questo momento, sto solo cercando di far funzionare il codice stesso. L'ho impostato come file PHP sul mio server di test locale. Il codice sopra è in uso. In questo momento, nulla visualizza nulla sullo schermo o nella sorgente. Sto pensando di aver commesso un errore di sintassi, ma non riesco a trovare nulla. Qualsiasi aiuto è apprezzato!
MODIFICA 2: Ok, ho capito ragazzi. Apparentemente, ho dovuto echo la dichiarazione XML con PHP. Il codice finale è pubblicato sopra. Grazie per l'aiuto!
Bene gli unici due file .xml sul mio server stia usando PHP quindi non vedo alcun danno. Fare la prima opzione sarebbe qualcosa come aggiungere questo in un file .htaccess? AddType application/x-httpd-php .xml – williamg
Non sicuro che ciò possa essere fatto in un file '.htaccess' * (a seconda della configurazione del tuo server, potrebbe essere necessario farlo direttamente nella configurazione del server) * ;; ma potresti provare, forse funzionerà :-) –
@iMaster: Perché il tuo codice funzioni, anche short_tags deve essere disattivato (è di default - solo qualcosa di cui essere a conoscenza). Inoltre, quando visito attualmente http://designdeluge.com/sitemap.xml ottengo una risposta HTTP 500, quindi la configurazione è interrotta (probabilmente perché ci stai lavorando proprio ora). Infine, per i siti di grandi dimensioni, la generazione di tutta la sitemap in tempo reale è probabilmente impossibile, quindi se ti aspetti di crescere a migliaia di pagine o più, preparati a reimplementarla più tardi. –