чпу vs постраничная навигация

ЪЪ
На сайте с 12.05.2010
Offline
4
713

Здравствуйте, такая проблема появилась при использовании класса для постраничной навигации звятого тут http://www.tigir.com/paging.htm.

в нормальном виде site.ru/?collect=abc&p=2 все работает

но вот решил заюзать чпу и странички вида site.ru/collection/abc.html превращаются в site.ru/collection/abc.html?collect=abc&p=2

чпу делаю так RewriteRule ^collection/([^/]*)\.html([^/]*)$ /index.php?collect=$1 [L]

помогите исправить чтобы ссылки получали вид site.ru/collection/abc.html/p2/ или site.ru/collection/abc.html/2/

нужно чтото исправить сдесь

private function get_page_link($page, $text='')

{
if (!$text) $text = $page;

if ($page != $this->cur_page)
{
$reg = '/((&|^)'.$this->page_var.'=)[^&#]*/';
$url = '?'.( preg_match( $reg, $_SERVER['QUERY_STRING'] ) ? preg_replace($reg, '${1}'.$page, $_SERVER['QUERY_STRING']) : ( $_SERVER['QUERY_STRING'] ? $_SERVER['QUERY_STRING'].'&' : '' ).$this->page_var.'='.$page);
return '<a href="'.$url.'">'.$text.'</a>';
}
return '<span>'.$text.'</span>';
}

и как я догадываюсь в самом .htaccess но что толком не понимаю из-за малых знаний php и регулярок.

на форуме аффтара этого класа. сам аффтар посоветовал делать както так есче 2 года назад какомуто челу

private function get_page_link($page, $text='')

{
if (!$text) $text = $page;

if ($page != $this->cur_page)
{
$reg = '/\/'.$this->page_var.'\d+/';
$url = ( preg_match( $reg, $_SERVER['REQUEST_URI'] ) ? preg_replace($reg, '/'.$this->page_var.$page, $_SERVER['REQUEST_URI']) : $_SERVER['REQUEST_URI'].$this->page_var.$page.'/');
return '<a href="'.$url.'">'.$text.'</a>';
}
return '<span>'.$text.'</span>';
}

но и это не помогло. я думаю что нужно както поправить сам .htaccess. помогите пожалуйста. уже почти сутки бюсь над этой проблемой.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий