Intereting Posts
Как передать несколько флажков на PHP через JQUERY Где соль хранится для password_hash? Процесс удаления одного и того же json-массива создает другой массив результатов для различной позиции значения MySQL SELECT из нескольких значений, возвращает только точные соответствия Множественное сопоставление поискового слова с использованием strpos PDO / PHP – проверьте, существует ли строка Ошибка mysql при вставке изображения в базу данных mysql MySQL против MySQLi в PHP Сокращенное сокращение URL-адреса Goo.gl (php / curl) Facebook PHP SDK v4.0 FacebookJavaScriptLoginHelper возвращает состояние NULL Перемещение местоположения вариации в WooCommerce Почему я получаю эту ошибку сегментации в этом скрипте командной строки PHP? Используя PHP, MySQLi и подготовленный отчет, как я возвращаю идентификатор вставленной строки? Как определить, нужно ли применять utf8 декодировать или кодировать строку? Mysql Никакое соединение не может быть сделано, потому что целевая машина активно отказалась от него

Настройка php-функции так, чтобы она отображала ссылку в виде: – '/ widgets? Pg = 2' вместо 'products.php? Cat = 20 & pg = 2'

Я добавил следующее правило .htaccess:

RewriteRule ^widgets$ products.php?cat=20 [QSA] 

Итак, теперь у меня есть простая ссылка под названием «widgets», которая приводит к первой категории «виджетов». Однако ссылки на вторую страницу выглядят следующим образом:

 products.php?cat=20&pg=2 

Я бы хотел, чтобы последующие страницы были скорее в виде: –

 widgets?pg=2 

Флаг QSA в вышеприведенном правиле .htaccess достигает этого, но мне нужно изменить функцию, которая генерирует эти ссылки на страницы, иначе единственный способ попасть в widgets?pg=2 , набрав ее в адресной строке браузера, как: – mywebsite.com/widgets?pg=2 .

Я думаю, что, возможно, потребуется скорректировать следующую функцию PHP, чтобы достичь желаемого результата. Можете ли вы помочь с помощью каких-либо мастеров PHP или кого-либо с соответствующими знаниями. Причина, по которой я хочу сделать это, – это то, что я хочу, чтобы Google индексировал простые страницы, а не более длинные:

 function writepagebar($CurPage,$iNumPages,$sprev,$snext,$sLink,$nofirstpage){ $startPage = max(1,round(floor((double)$CurPage/10.0)*10)); $endPage = min($iNumPages,round(floor((double)$CurPage/10.0)*10)+10); if($CurPage > 1) $sStr = $sLink . '1' . '" rel="prev"><span style="font-family:Verdana;font-weight:bold">&laquo;</span></a> ' . $sLink . ($CurPage-1) . '">'.$sprev.'</a> | '; else $sStr = '<span style="font-family:Verdana;font-weight:bold">&laquo;</span> '.$sprev.' | '; for($i=$startPage;$i <= $endPage; $i++){ if($i==$CurPage) $sStr .= '<span class="currpage">' . $i . '</span> | '; else{ $sStr .= $sLink . $i . '">'; if($i==$startPage && $i > 1) $sStr .= '...'; $sStr .= $i; if($i==$endPage && $i < $iNumPages) $sStr .= '...'; $sStr .= '</a> | '; } } if($CurPage < $iNumPages) $sStr .= $sLink . ($CurPage+1) . '" rel="next">'.$snext.'</a> ' . $sLink . $iNumPages . '"><span style="font-family:Verdana;font-weight:bold">&raquo;</span></a>'; else $sStr .= ' '.$snext.' <span style="font-family:Verdana;font-weight:bold">&raquo;</span>'; if($nofirstpage) $sStr = str_replace(array('&amp;pg=1"','?pg=1"'),'" rel="start"',$sStr); return($sStr); } 

Если это помогает узнать, как функция writepagebar вписывается в incproducts.php, который сам находится внутри страницы products.php, вы можете увидеть здесь: –

http://freetexthost.com/3ubiydspzm

Отредактировано после комментариев от «nitbuntu»: –

В функции просто вместо этих строк: –

  $sStr = str_replace(array('&amp;pg=1"','?pg=1"'),'" rel="start"',$sStr); return($sStr); } 

напишите следующие строки: –

  $sStr = str_replace('products.php?cat=20', 'widgets', $sStr); $sStr = str_replace('&amp;pg=', '?pg=', $sStr); $sStr = str_replace(array('&amp;pg=1"', '?pg=1"'), '" rel="start"', $sStr); return($sStr); } 

Надеюсь, поможет.

Анализируя ваш код, кажется, что $ sLink – это тот, кто содержит значение «products.php? Cat = 20», функция только добавляет значение страницы, поэтому, возможно, вам нужно изменить другую функцию.

Другими словами, ваша строка записи () только добавляет номер страницы к сгенерированной ссылке. Вы должны искать, кто вызывает writepagebar () с помощью строки «products.php? Cat = 20» и модифицировать на этом уровне.