[英]URL rewriting with pagination not working .htaccess?
我有以下网址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>'
分页停止工作,结果显示异常。 知道为什么会这样吗?
您可以使用以下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 /分割并以integrer形式返回其后的任何内容-在PHP> = 5.4中有效。 顺便说一句 这是分页链接结构的非常糟糕的实现...但是它将起作用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.