Shopsystem ShopPilot

ShopPilot => Aktuelle FAQ - H?ufige Fragen => Thema gestartet von: admin am August 04, 2016, 17:07:41

Titel: XML-Sitemap erzeugen (alternative Mehode)
Beitrag von: admin am August 04, 2016, 17:07:41
Das Script im cgi-bin Ordner hinterlegen und über Browser aufrufen.


#!/usr/bin/perl
use strict;
use warnings;

use DBI;

## Nach bedarf anpassen
my $connStr = "dbi:mysql:host=localhost;database=xxxxxxxx";
my $user = 'xxxxxxx';
my $pwd = 'xxxxxxx';
my $tabPrefix = 'YYY_';

my $mode;
my $filename = "../../sitemap.xml";


my $header =qq{
<?xml version="1.0" encoding="ISO-8859-1"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
};

open (FH, '>', $filename);
print FH $header;


# Verbindung herstellen
my $dbh = DBI->connect($connStr, $user, $pwd) or
die("Kann Verbindung nicht herstellen: $DBI::errstr\n");

my $query = qq[SELECT URL, BASE FROM ${tabPrefix}STATICURLSSB];
my $sth = $dbh->prepare($query);
my $count = 0;
$sth->execute();
while (my $row = $sth->fetchrow_hashref) {
  my $url = $row->{'BASE'} . "/" . $row->{'URL'};

  my $line =qq{  <url>
    <loc>$url</loc>
  </url>
};
  print FH $line;
  ++$count;
}
my $index =qq{  <url>
    <loc>http://www.domain.de</loc>
  </url>
};

print FH $index;
print FH "</urlset>\n";
close(FH);

print "Content-Type: text/html; charset=ISO-8859-1\n\n";
print "$count URL's gefunden\n";