URL重写分页

时间:2014-06-18 13:13:19

标签: php pagination rewrite

我遇到了问题。使用重写URL进行分页。

我的当前链接(工作)

localhost/nhagiagoc/sell-book-for-5

当我点击下一页时,我会收到此链接。

localhost/nhagiagoc/sell-book-for-5_page-1

此时,我一直点击分页链接,我将收到此链接。

本地主机(点)的COM / nhagiagoc /销售图书换5_page-1_page-2

所以我得到像这样的多链接

  

本地主机/ nhagiagoc /销售图书换5_page-1_page-2_page-3

  

本地主机/ nhagiagoc /销售图书换5_page-1_page-2_page-3_page-4

  

本地主机/ nhagiagoc /销售图书换5_page-1_page-2_page-3_page-4_page-5

那么,如何解决这个问题呢? 我使用$ _SERVER ['REQUEST_URI']得到工作链接,如果我使用$ _SERVER ['PHP_SELF'],我得到了php链接(不是重写链接)。 (例如:localhost / nhagiagoc / book.php?id = 135)。

1 个答案:

答案 0 :(得分:0)

我想整个问题是在创建下一页链接时使用$_SERVER['REQUEST_URI']

你可能实际上正在使用这样的东西:

$actualPage = $_SERVER['REQUEST_URI'];
echo '<a href="'.$actualPage.'_page-'.++$_GET['page'].'">Next page</a>';

此处的问题是$_SERVER['REQUEST_URI']已包含/sell-book-for-5_page-1,因此添加_page-'.++$_GET['page']会生成这些网址。 您需要使用不带分页的网址,然后添加

,而不是使用$_SERVER['REQUEST_URI']

例如:

$pagination = (isset($_GET['page']) && $_GET['page'] > 0)?$_GET['page']:1;
$actualPage = '/sell-book-for-'.$idFromDB; //Like you already did
echo '<a href="'.$actualPage.'_page-'.($pagination+1).'">Next page</a>';

你需要更新它才能为你效用,希望你仍然明白这一点。