我當前的頁碼代碼如下所示如何設置分頁URL以便能夠使用htaccess重寫URL?
//what page are we currently on
if(!isset($_GET['page'])){
$page=1;
}
else {
$page=(int)$_GET['page'];
}
//select how many records to show per page
$limit=10;
//count how many rows
$total=$conn->query("SELECT COUNT(*) FROM pagi")->fetchColumn();
//how many pages will be there
$pages=ceil($total/$limit);
if($page<1){
$page=1;//forcing page to be 1 if it is less then 1
}
else if($page>$pages){
$page=$pages;
}
//calculate the offset
$offset=($page-1)*$limit;
//fetch the result from database
$sql=$conn->prepare("SELECT * FROM pagi ORDER BY pg_id LIMIT {$limit} OFFSET {$offset}");
$sql->execute();
if($sql->rowCount()>0){
while($result=$sql->fetch(PDO::FETCH_ASSOC)){;
echo $result['pg_name'],"<br />";
}
echo "<hr>";
}else {
echo "no result to fetch";
}
$prev=$page-1;
$next=$page+1;
$previous="";
$nextr="";
if($page>1){
$previous='<li><a href="?page='.$prev.'">«</a></span>';
}
//for($i=1;$i<=$pages;$i++){
// echo'<a href="?page='.$i.'">'.$i.'</a>';
// }
if($page<$pages){
$nextr='<li><a href="?page='.$next.'">»</a></span>';
}
$numbers="";
for($i = max(1, $page - 5); $i <= min($page + 5, $pages); $i++){
if($i==$page){
$numbers.='<li><a class="active" href="?page='.$i.'">'.$i.'</a></span></li>';
}
else {
$numbers.='<li><a href="?page='.$i.'">'.$i.'</a></span></li>';
}
}
而我當前的URL看起來像這樣: - localhost/test/pagi.php?page=1
I want it to be
localhost/test/pagi.php/page/1
我有這個按照我的.htaccess
RewriteEngine on RewriteRule ^page/([a-zA-Z0-9-/]+)$ pagi.php?page=$1
如何更改我的分頁以使用上面的重寫規則或可能是另一個規則;我希望能夠實現時,旁邊一個用戶點擊它應該重定向 他們pagi.php/page/123
不pagi.php?page=1
。我非常新的PHP和不能想出一個辦法做到this.Any幫助將是巨大
剛剛嘗試過,但它不會將我的網址從'/test/pagi.php?page=1'改爲'/ test/pagi.php/page/1' –
這個轉換可能會反過來,將'/ test/pagi.php/page/1'改爲'/test/pagi.php?page=1'。你的Apache設置了mod_rewrite模塊嗎? – macl
是的我的apache設置了mod_rewrite模塊 –