URL重写与分页不起作用.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]

和链接:

  • '.$i.'
  • 或者,如果您不希望在我们的链接中index.php/,请将其排除在两者之外。

    更新:

    好的,如果你真的需要你的分页链接看起来像"?page/2"你可以删除重写规则并使用以下内容而不是$_GET['page']intval(explode("?page/", $_SERVER["REQUEST_URI"])[1]) - 这基本上按 ?page/拆分 URL,并作为集成器返回它后面的任何内容 - 在 PHP>= 5.4 中工作。 顺便说一句,这是分页链接结构的非常糟糕的实现......但它会起作用

    最新更新