私はうまく動作しているSEOにやさしいページネーション機能を書いています。しかし、私の現在のURLは次のようになります。ページのURLからページを削除するには
1.localhost/test/tastepage.php/test/testpage/page/123
しかし、私は何を達成したいことは次のとおりです。
2.localhost/test/testpage.php/page/123
またはlocalhost/test/testpage.php/123
私がに行くときURLバーのように私のURLを編集それは正常に動作しています。しかし私は知りたいのですが、最初にページを読み込むたびにURLがのように見えるのはなぜですか?ここで
は私tastpage.phpファイル内に持っているものです。
$page=1;//set page number to 1 as default
$sitepath=explode('/',parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH));//removing slashes from the url and slicing up the url into an array
if(is_array($sitepath)&& !empty($sitepath)){
if($keys=array_search('page',$sitepath)){;
print_r($keys);
$page=(int)$sitepath[$keys+1];
}
}
function paginate($page,$display,$total){
$sitepath=parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH);
if($sitepath!='/'){
$sitepath=rtrim($sitepath,'/');
if(stristr($sitepath,'page/')){
$sitepath=rtrim($sitepath,'0..9');
$query='';
}
else {
$query=$sitepath .'/page/';
}
}
else {
$query = 'page/';
}
$pages=ceil($total/$display);
$first='<a href="'.$sitepath.$query.'1">First</a>';
$last='<a href="'.$sitepath.$query.$pages.'">Last</a>';
$next='<li><a href="'.$sitepath. $query . ($page + 1) . '">»</a></li>';
$preview='<li><a href="'.$sitepath.$query.($page-1).'">«</a></li>';
$numbers="";
for ($i=max(1,$page-5);$i<=min($page+1,$pages);$i++)
{
if($i==$page){
$numbers.='<li><a class="active" href="'.$sitepath.$query.$i.'">'.$i.'</a></li>';
}
else {
$numbers.='<li><a href="'.$sitepath.$query.$i.'">'.$i.'</a></span></li>';
}
}
if($page>1){
echo $preview;
}
echo $numbers;
if($page<$pages){
echo $next;
}
};
$limit = 10;
//count how many rows
$total = $conn->query("SELECT COUNT(*) FROM pagi")->fetchColumn();
if ($total > 0) {
$start = $limit * $page - $limit;
$sql = $conn->prepare("SELECT * FROM pagi ORDER BY pg_id LIMIT :start, :limit");
$sql->bindValue(':start', $start, PDO::PARAM_INT);
$sql->bindValue(':limit', $limit, PDO::PARAM_INT);
$sql->execute();
if ($sql->rowCount() > 0) {
while ($result = $sql->fetch(PDO::FETCH_ASSOC)) {
echo $result['pg_name'],"<br />";
}
}
} else {
echo "no result to fetch";
}
?>
は、なぜあなたはhtaccessを介して、このロジックを行ういけませんか? –
htaccessについては私はnoobです。私はhtaccessのために私のApacheを設定しましたが、実際にhtaccessを使ってこれを行う方法がわかりません –