我有以下网址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]
和链接:
或者,如果您不希望在我们的链接中index.php/
,请将其排除在两者之外。
更新:
好的,如果你真的需要你的分页链接看起来像"?page/2"
你可以删除重写规则并使用以下内容而不是$_GET['page']
: intval(explode("?page/", $_SERVER["REQUEST_URI"])[1])
- 这基本上按 ?page/拆分 URL,并作为集成器返回它后面的任何内容 - 在 PHP>= 5.4 中工作。 顺便说一句,这是分页链接结构的非常糟糕的实现......但它会起作用