Ich versuche eine Sitemap zu erstellen, die automatisch aktualisiert wird. Ich habe etwas mit meinem RSS-Feed gemacht, aber diese Sitemap verweigert die Arbeit. Sie können es live unter http://designdeluge.com/sitemap.xml ansehen. Ich denke, das Hauptproblem ist, dass es den PHP-Code nicht erkennt. Hier ist die vollständige Quelle:Erstellen einer XML-Sitemap mit 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>
Das Problem ist, dass die dynamische URL (beispielsweise die von der DB gezogen ist) wird nicht erzeugt werden und die Sitemap nicht bestätigen. Vielen Dank!
EDIT: Gerade jetzt, ich versuche nur, den Code selbst zu arbeiten. Ich habe es als PHP-Datei auf meinem lokalen Testserver eingerichtet. Der obige Code wird verwendet. Im Moment zeigt nichts nichts auf dem Bildschirm oder in der Quelle. Ich denke, ich habe einen Syntaxfehler gemacht, aber ich kann nichts finden. Jede und jede Hilfe wird geschätzt!
EDIT 2: Ok, ich habe es Jungs aussortiert. Anscheinend musste ich die XML-Deklaration mit PHP wiederholen. Der endgültige Code ist oben veröffentlicht. Danke für Ihre Hilfe!
Nun, die nur zwei XML-Dateien auf meinem Server mit PHP, so dass ich keinen Schaden sehen. Wäre die erste Option etwas wie das Hinzufügen zu einer .htaccess-Datei? AddType application/x-httpd-php .xml – williamg
Nicht sicher, dass dies in einer '.htaccess' Datei * möglich ist (abhängig von der Konfiguration Ihres Servers, kann es notwendig sein, dies direkt in der Konfiguration des Servers zu tun) * ;; aber Sie könnten versuchen, vielleicht wird es funktionieren :-) –
@iMaster: Damit Ihr Code funktioniert, müssen short_tags auch ausgeschaltet sein (es ist standardmäßig - nur etwas zu beachten). Wenn ich derzeit http://designdeluge.com/sitemap.xml besuche, erhalte ich eine HTTP 500-Antwort, daher ist Ihre Konfiguration kaputt (wahrscheinlich, weil Sie gerade daran arbeiten). Schließlich ist es bei großen Websites wahrscheinlich nicht möglich, die gesamte Sitemap in Echtzeit zu erstellen. Wenn Sie also mit Tausenden von Seiten oder mehr rechnen, sollten Sie darauf vorbereitet sein, dies später noch einmal zu implementieren. –