Зарегистрирован: 03.05.2007 Сообщения: 1133 Откуда: vladimir 6191
Добавлено: Сб, 28 Июл, 2007 11:44 Заголовок сообщения: Народ помогите с скриптом!
Я мало шарю в Perl, скачал скрипт для автоматического создания sitemap.xml всё сделал по инструкции, а всё равно не пашет страница падает с 500 ошибкой.
Вот код
Код:
!/usr/bin/perl
use POSIX qw(strftime);
use File::Find;
$pri = "sitemap.xml";
open(PH, ">:utf8", $pri) or die "can't open $pri: $!";
print PH "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
print PH "<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\">\n";
#Укажите URL Вашего сайта в переменной my $core_site, например "http://www.site.ru/"
my $core_site = "http://www.student.vladimir.ru/";
#Более подробно о настройках см. sitemap-readme.txt
#Секция списков исключений файлов, которые НЕ попадут в sitemap.xml
#В переменной my @exl_ext список расширений файлов, которые НЕ попадут в sitemap.xml
my @exl_ext = qw(xml css js);
#В переменной my @exl_name_dir список папок, файлы из которых НЕ попадут в sitemap.xml
my @exl_name_dir = qw(e107_files/public/avatars/ e107_files/cache/ e107_handlers/ e107_admin/ banners/);
#В переменной my @exl_name_file список имен файлов, которые НЕ попадут в sitemap.xml
my @exl_name_file = qw(quote);
#В переменной my @condition_all списки формата:
#списки расширений файлов и для каждой группы их приоритет и вероятная частота изменения
my @condition_all = ("doc zip rar|0.8 monthly", "gif|0.7 monthly");
#В переменной my @condition_dir списки папок формата:
#папка список расширений файлов и для этой группы их приоритет и вероятная частота изменения
my @condition_dir = ("log/tmp/|txt|0.1 daily");
find(\&wanted, ".");
sub wanted {
#В переменной $freg вероятная частота изменения файлов по умолчанию
my $freg = "weekly";
#В переменной $num_prior приоритет файлов по умолчанию
my $num_prior = 0.9;
my ($name_file, $extend) = split /\./, $_;
my $dirc = $File::Find::dir . "/";
$dirc =~ s#^\./#$core_site#;
unless ( ( -d $_ ) || ( grep { $dirc eq ($core_site . $_) } @exl_name_dir ) ||
( grep {$extend eq $_} @exl_ext ) ||
( grep {$name_file eq $_} @exl_name_file ) ) {
my $date = strftime "%Y-%m-%dT%H:%M:%S+00:00", localtime((stat($_))[9]);
my $ch_fr = "<changefreq>$freg</changefreq>\n";
my $prior = "<priority>$num_prior</priority>\n";
print PH "<url>\n<loc>", $dirc, $_, "</loc>\n<lastmod>", $date, "</lastmod>\n", $ch_fr, $prior, "</url>\n";
}
}
print PH "</urlset>";
close PH;
Пробовал запускать и с cgi-bin дериктории и с корневого - всё равно не работает.
Помогите! _________________ Жизнь никогда не заканчивается!!!
На то, собственно говоря, она и ЖИЗНЬ...
____________________________________
http://www.coderun.ru - Блог человека