繁体   English   中英

带有分页的URL重写无法使用.htaccess?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM