我遇到了问题。使用重写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)。
答案 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>';
你需要更新它才能为你效用,希望你仍然明白这一点。