ws17
Новичок
Здравствуйте уважаемые пользователи форума.
Поставил sitemap, но выдает ошибку, он не конфигурирует фаил и не сохраняет в корень сайта.
Что я делал, скачал модуль, залил его в папку с модулями /modules/ и появилась там папка sitemap
Далее я залез в /application и в фаил bootstrap.php и туда добавил строку подгрузки модуля, 'sitemap' => MODPATH.'sitemap', // sitemap
Далее я залез сюда: /application/classes и добавил фаил Sitemap.php
Что в файле Sitemap.php
после чего я начал запускать satimap, http://site.ru/sitemap.xml
и мне выдало такую ошибку.
Подскажите что не так сделал ? где моя ошибка, что править ?
Поставил sitemap, но выдает ошибку, он не конфигурирует фаил и не сохраняет в корень сайта.
Что я делал, скачал модуль, залил его в папку с модулями /modules/ и появилась там папка sitemap
Далее я залез в /application и в фаил bootstrap.php и туда добавил строку подгрузки модуля, 'sitemap' => MODPATH.'sitemap', // sitemap
Далее я залез сюда: /application/classes и добавил фаил Sitemap.php
Что в файле Sitemap.php
Код:
<?php defined('SYSPATH') or die('No direct script access.');
class Sitemap extends Kohana_Sitemap
{
public static function build()
{
// Создаем экземпляр класса Sitemap.
$sitemap = new Sitemap;
// Через этот объект мы будем добавлять все УРЛы к нашей карте.
$url = new Sitemap_Url;
$url->set_loc('http://site.ru/')
->set_last_mod(time())
->set_change_frequency('always')
->set_priority(1);
$sitemap->add($url);
$url->set_loc('http://site.ru/cat/')
->set_last_mod(time())
->set_change_frequency('always')
->set_priority(0.9);
$sitemap->add($url);
$url->set_loc('http://site.ru/cat/3')
->set_last_mod(time())
->set_change_frequency('yearly')
->set_priority(0.9);
$sitemap->add($url);
// Добавляем необходимые УРЛы к нашей карте сайта
// Моя CMS хранит их в БД, но Вы можете и просто перечислить нужные ссылки вручную
/*$allPages = DB::select('url')->from('categories')->where('visible','=','1')->execute()->as_array(); // берем все ссылки из БД
foreach ($allPages as $v) // для каждой ссылки в цикле
{
$priority = '0.9';
// Выставляем приоритет индексирования. У меня - для главной страницы - 1, для остальных - 0.9.
if ($v['url']== '/') $priority = '1.0';
$url->set_loc('http://'.$_SERVER['HTTP_HOST'].$v['url']) // Добавляем саму ссылку. У меня в БД они относительные, поэтому я вставляю домен перед ссылкой
->set_last_mod(time()) // Устанавливаем время последнего редактирования. У меня временем последнего редактирования страницы всегда ставится текущее время, чтобы поисковики всегда обновляли индекс
->set_change_frequency('always') // Показываем, что страницу нужно индексировать всегда
->set_priority($priority);
$sitemap->add($url); // Добавляем ссылку
}*/
// Генерируем xml
$response = urldecode($sitemap->render());
//Записываем в файл sitemap.xml в корне сайта
file_put_contents('sitemap.xml', $response);
}
}
и мне выдало такую ошибку.
Код:
Kohana_HTTP_Exception [ 404 ]: The requested URL sitemap.xml was not found on this server.
SYSPATH/classes/Kohana/Request/Client/Internal.php [ 79 ]
74 if ( ! class_exists($prefix.$controller))
75 {
76 throw HTTP_Exception::factory(404,
77 'The requested URL :uri was not found on this server.',
78 array(':uri' => $request->uri())
79 )->request($request);
80 }
81
82 // Load the controller using reflection
83 $class = new ReflectionClass($prefix.$controller);
84