重写规则拒绝功能分页

时间:2016-10-18 18:40:42

标签: php mod-rewrite

我想让我的分页显示如下

example.com/members/p1

现在显示

example.com/members.php?page=1

我试过下面的重写。不要使用fr write generator但它不起作用

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

<?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:

{{1}}

1 个答案:

答案 0 :(得分:1)

您需要将输出到用户的代码(使用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(它更容易,因为这样您就拥有变量{{ 1}}你可以使用。

所以,总结一下: 1.在您的PHP代码中 - 您生成&#34;漂亮&#34;链接。 2.在$_GET['page']文件中,您告诉服务器&#34;思考&#34;当它收到.htaccess请求时,应将其视为^members/([^/][0-9]*)$