我有以下网址index.php?page=1
我希望它为index.php/page/1
。
RewriteEngine on
RewriteRule ^page/([^/]*)$ index.php?page=$1 [L]
我的分页链接如下所示:
$numbers.='<li><a class="active" href="?page='.$i.'">'.$i.'</a></span></li>'
如果我使用它,它不会重写Url。
如果我将我的分页改为
$numbers.='<li><a class="active" href="?page/'.$i.'">'.$i.'</a></span></li>'
分页停止工作,我的结果很奇怪。知道为什么会这样吗?
答案 0 :(得分:0)
您可以使用以下RewriteRule:
RewriteRule ^index.php/page/([0-9]+)$ index.php?page=$1 [L]
和链接:
<li><a class="active" href="/index.php/page/'.$i.'">'.$i.'</a></li>
如果您不想在我们的链接中使用,请排除index.php/
。
更新:
好的,如果你真的需要你的分页链接看起来像"?page/2"
那么你可以删除重写规则并使用以下而不是$_GET['page']
:intval(explode("?page/", $_SERVER["REQUEST_URI"])[1])
- 这基本上将URL拆分为?page /并返回它后面的任何东西作为整数 - 在PHP&gt; = 5.4中工作。顺便说一句。这是分页链接结构的非常糟糕的实现......但它会起作用