Grr, this is indeed a bug !!
It was tricky to find out, because it only conserns domains with ".php" in it, such as -www.phpbb3.sk or phpbb3.phpbb-seo.net !
I had not tested pagination on such domains, my fault, sorry.
Anyway, here is the fix, which will lead us to an update very soon :
- Code: Select all
#
#-----[ OPEN ]------------------------------------------
#
includes/functions.php
#
#-----[ FIND ]------------------------------------------
#
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$prev = ($on_page == 1) ? '' : $base_url . "{$url_delim}start=" . (($on_page - 2) * $per_page);
$next = ($on_page == $total_pages) ? '' : $base_url . "{$url_delim}start=" . ($on_page * $per_page);
if (is_object($phpbb_seo) && strpos($page_string, '.' . $phpEx) === FALSE) {
static $pagin_find = array();
static $pagin_replace = array();
static $prev_find = array();
if (empty($pagin_replace)) {
$pagin_find = array('`(\.[a-z0-9]+)([\w\#$%&~\-;:=,?@+]*)(&|\?)start=([0-9]+)`i', '`/([\w\#$%&~\-;:=,?@+]*)(&|\?)start=([0-9]+)`i' );
$pagin_replace = array( $phpbb_seo->seo_delim['start'] . '\\4\\1\\2', '/' . $phpbb_seo->seo_static['pagination'] . '\\3' . $phpbb_seo->seo_ext['pagination'] . '\\1' );
$prev_find = array($phpbb_seo->seo_delim['start'] . '0', $phpbb_seo->seo_static['pagination'] . '0' . $phpbb_seo->seo_ext['pagination']);
}
$page_string = str_replace($url_delim . 'start=0', '', $page_string);
$page_string = preg_replace($pagin_find, $pagin_replace, $page_string);
$prev = preg_replace($pagin_find, $pagin_replace, $prev);
$prev = str_replace($prev_find, '', $prev);
$next = preg_replace( $pagin_find, $pagin_replace, $next);
}
$template->assign_vars(array(
$tpl_prefix . 'BASE_URL' => $base_url,
'A_' . $tpl_prefix . 'BASE_URL' => addslashes($base_url),
$tpl_prefix . 'PER_PAGE' => $per_page,
$tpl_prefix . 'PREVIOUS_PAGE' => $prev,
$tpl_prefix . 'NEXT_PAGE' => $next,
$tpl_prefix . 'TOTAL_PAGES' => $total_pages)
);
// www.phpBB-SEO.com SEO TOOLKIT END
#
#-----[ REPLACE WITH ]------------------------------------------
#
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$prev = ($on_page == 1) ? '' : $base_url . "{$url_delim}start=" . (($on_page - 2) * $per_page);
$next = ($on_page == $total_pages) ? '' : $base_url . "{$url_delim}start=" . ($on_page * $per_page);
if (is_object($phpbb_seo)) {
static $pagin_find = array();
static $pagin_replace = array();
static $prev_find = array();
if (empty($pagin_replace)) {
$pagin_find = array('`(\.(?!' . $phpEx . ')[a-z0-9]+)([\w\#$%&~\-;:=,?@+]*)(&|\?)start=([0-9]+)`i', '`/([\w\#$%&~\-;:=,?@+]*)(&|\?)start=([0-9]+)`i' );
$pagin_replace = array( $phpbb_seo->seo_delim['start'] . '\\4\\1\\2', '/' . $phpbb_seo->seo_static['pagination'] . '\\3' . $phpbb_seo->seo_ext['pagination'] . '\\1' );
$prev_find = array($phpbb_seo->seo_delim['start'] . '0', $phpbb_seo->seo_static['pagination'] . '0' . $phpbb_seo->seo_ext['pagination']);
}
$page_string = str_replace($url_delim . 'start=0', '', $page_string);
$page_string = preg_replace($pagin_find, $pagin_replace, $page_string);
$prev = preg_replace($pagin_find, $pagin_replace, $prev);
$prev = str_replace($prev_find, '', $prev);
$next = preg_replace( $pagin_find, $pagin_replace, $next);
}
$template->assign_vars(array(
$tpl_prefix . 'BASE_URL' => $base_url,
'A_' . $tpl_prefix . 'BASE_URL' => addslashes($base_url),
$tpl_prefix . 'PER_PAGE' => $per_page,
$tpl_prefix . 'PREVIOUS_PAGE' => $prev,
$tpl_prefix . 'NEXT_PAGE' => $next,
$tpl_prefix . 'TOTAL_PAGES' => $total_pages)
);
// www.phpBB-SEO.com SEO TOOLKIT END
#
#-----[ OPEN ]------------------------------------------
#
includes/functions_display.php
#
#-----[ FIND ]------------------------------------------
#
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
if (is_object($phpbb_seo) && strpos($pagination, '.' . $phpEx) === FALSE) {
static $pagin_find = array( '`(\.[a-z0-9]+)([\w\#$%&~.\-;:=,?@+]*)&start=([0-9]+)`i', '`/([\w\#$%&~.\-;:=,?@+]*)&start=([0-9]+)`i' );
static $pagin_replace = array();
if (empty($pagin_replace)) {
$pagin_replace = array( $phpbb_seo->seo_delim['start'] . '\\3\\1\\2', '/' . $phpbb_seo->seo_static['pagination'] . '\\2' . $phpbb_seo->seo_ext['pagination'] .'\\1' );
}
$pagination = str_replace( '&start=0', '', $pagination );
$pagination = preg_replace( $pagin_find, $pagin_replace, $pagination );
}
// www.phpBB-SEO.com SEO TOOLKIT END
#
#-----[ REPLACE WITH ]------------------------------------------
#
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
if (is_object($phpbb_seo) ) {
static $pagin_find = array();
static $pagin_replace = array();
if (empty($pagin_find)) {
$pagin_find = array( '`(\.(?!' . $phpEx . ')[a-z0-9]+)([\w\#$%&~\-;:=,?@+]*)&start=([0-9]+)`i', '`/([\w\#$%&~\-;:=,?@+]*)&start=([0-9]+)`i' );
$pagin_replace = array( $phpbb_seo->seo_delim['start'] . '\\3\\1\\2', '/' . $phpbb_seo->seo_static['pagination'] . '\\2' . $phpbb_seo->seo_ext['pagination'] .'\\1' );
}
$pagination = str_replace( '&start=0', '', $pagination );
$pagination = preg_replace( $pagin_find, $pagin_replace, $pagination );
}
// www.phpBB-SEO.com SEO TOOLKIT END
Sorry for that.
++