Есть у dagon sitemap generator один такой маленький баг — он при включенных ЧПУ не всегда правильно определяет номер страницы, выводит всегда только первую страницу. Почему так происходит, я точно не определил, функция get_query_var видимо некорректно срабатывает.
Вылечить можно, добавив несколько строчек в файл плуга sitemap-generator.php
После строк
$current_page = 1; if (get_query_var("pg")) { $current_page = get_query_var("pg"); }
Добавляем:
$url = $_SERVER['REQUEST_URI']; preg_match("([0-9]+)", $url, $out); if(($out[0] != $current_page) AND ($out[0] > 1)){ $current_page = $out[0]; }
Это примерно 1074 строка.
Вкратце, что делает код. Он проверяет номер страницы, который определяет сам плагин, с номером страницы в урле. Если они не совпадают, то берет номер страницы из урла. Проверялось на чпу вида /sitemap/4
UPD. Подправил немного, чтобы для нулевой страницы не переопределял номер.
14 комментариев
Саша, а зачем вам 2 карты сайта? Одна генерируется дагоном, а другая карта для какой цели? Чтобы лучше индексировался сайт?
Кстати, это какой плагин генерирует такую карту сайта — http://alexvolkov.ru/karta-saita-2 ???
Вторую сам написал, пост на блоге есть про то, как такую же сделать.
Долго искал решение этой проблемы, жаль что не сразу нашел ваш блог…
Я всегда ставлю, чтобы не было страниц.. пусть будет 500 ссылок на одной странице..
спасибо.. может быть, я когда-нибудь передумаю и тогда мне Ваш пост очень поможет..
Спасибо за совет но у меня не было проблем с этим плагином Пока
Не замечал на своих сайтах потому что не проверял — надо проверить…
Лично у меня совсем другой баг вылез — при активации плагина он мне подменял главную страницу — на ней появлялась ошибочка 404. Во как! С перепугу удалила. Что не так делала?
когда-то пытался на своем блоге сделать ЧПУ — не получилось. больше за это дело не брался хоть и понимаю, что это очень полезно для блога (да и любого другого сайта)
Читал на форуме maxsite что плагин этот шибко базу грузит. А вообще самый простой вариант карты — создание отдельного шаблона страницы для карты с кодом <?php get_archives(‘postbypost’, 1000); ?>
Надо учить Ruby и использовать Ruby on Rails. Тут от природы нормальные ЧПУ по сути по своей. PHP — в топку!
Всмысле, нормальные ЧПУ?
Спасибо, встречал такую же ошибку, тогда просто отключил ЧПУ. Вообще сейчас хочу отказаться от таких карт сайта, ибо для юзера это неудобно (если больше 1 к страниц), только для сапы, чтоб все УВ 3 были
О да!Наконец то избавился от этого зловещего «Page not found»!
Спасибо тебе, Alex!
Спасибо большое за пост!
Я с этой проблемой конечно не сталкивался, но у друга она возникла, вот и попросил помочь найти ответ на эту проблему.
Добавил ваш блог в закладки!