Есть у 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 responses


Do you want to comment?

Comments RSS and TrackBack Identifier URI ?

Саша, а зачем вам 2 карты сайта? Одна генерируется дагоном, а другая карта для какой цели? Чтобы лучше индексировался сайт?
Кстати, это какой плагин генерирует такую карту сайта — http://alexvolkov.ru/karta-saita-2 ???

Июль 13, 2010 2:53 дп

Вторую сам написал, пост на блоге есть про то, как такую же сделать.

Июль 13, 2010 10:10 дп

Долго искал решение этой проблемы, жаль что не сразу нашел ваш блог…

Июль 13, 2010 1:30 пп

Я всегда ставлю, чтобы не было страниц.. пусть будет 500 ссылок на одной странице..
спасибо.. может быть, я когда-нибудь передумаю и тогда мне Ваш пост очень поможет..

Июль 15, 2010 1:06 пп

Спасибо за совет но у меня не было проблем с этим плагином Пока

Июль 22, 2010 1:59 пп

Не замечал на своих сайтах потому что не проверял — надо проверить…

Июль 23, 2010 3:03 дп

Лично у меня совсем другой баг вылез — при активации плагина он мне подменял главную страницу — на ней появлялась ошибочка 404. Во как! С перепугу удалила. Что не так делала?

Август 10, 2010 2:46 дп

когда-то пытался на своем блоге сделать ЧПУ — не получилось. больше за это дело не брался хоть и понимаю, что это очень полезно для блога (да и любого другого сайта)

Август 16, 2010 7:02 пп

Читал на форуме maxsite что плагин этот шибко базу грузит. А вообще самый простой вариант карты  — создание отдельного шаблона страницы для карты с кодом <?php get_archives(‘postbypost’, 1000); ?>

Сентябрь 24, 2010 8:51 дп

Надо учить Ruby и использовать Ruby on Rails. Тут от природы нормальные ЧПУ по сути по своей. PHP — в топку!

Сентябрь 29, 2010 4:06 пп

Всмысле, нормальные ЧПУ?

Октябрь 2, 2010 9:11 пп

Спасибо, встречал такую же ошибку, тогда просто отключил ЧПУ. Вообще сейчас хочу отказаться от таких карт сайта, ибо для юзера это неудобно (если больше 1 к страниц), только для сапы, чтоб все УВ 3 были

Октябрь 11, 2010 4:47 пп

О да!Наконец то избавился от этого зловещего «Page not found»!
Спасибо тебе, Alex!

Декабрь 18, 2010 11:57 дп

Спасибо большое за пост!
Я с этой проблемой конечно не сталкивался, но у друга она возникла, вот и попросил помочь найти ответ на эту проблему. 
Добавил ваш блог в закладки!

Март 18, 2011 9:19 пп

Comment now!
















Trackbacks

1