我想让我的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