重写规则拒绝功能分页


Re write rule refuses to function pagination

我想让我的url为我的分页显示如下

example.com/members/p1

现在显示

example.com/members.php ? = 1页

我试过下面的重写。

不要从写生成器,但它不工作

.htaccess:

RewriteEngine on
RewriteRule ^p/([^/]*)$ members.php?page=$1 [L]
PHP:

<?php        
   $number_list = array();        
    for ($i = 1; $i <= $count; $i ++) {
      if ($i == $page) {
         echo "<li><a class='active' href='members.php?page={$i}'>{$i}</a></li>";
            } else {
         echo "<li><a href='members.php?page={$i}'>{$i}</a></li>";
      }
   }        
?>

您需要将输出给用户的代码(使用PHP)和mod_rewrite(使用PHP代码处理的变量将漂亮的url转换为实际的url)分开。

假设你想写一个链接到example.com/members/p1。你的php代码应该像这样:

$i = 1;
echo "<li><a href='members/p{$i}'>{$i}</a></li>";

现在-当有人进入members/p1页面-你希望你的PHP代码认为这个人实际上进入了users.php?page=1(这更容易,因为这样你就有了变量$_GET['page']你可以使用。

总结一下:1. 在您的PHP代码中-您生成"漂亮"的链接。2. 在您的.htaccess文件中,您告诉服务器"认为",当它收到^members/([^/][0-9]*)$的请求时,它应该将其视为users.php?page=$1