分页和子目录

时间:2012-12-04 22:21:37

标签: php .htaccess mod-rewrite pagination subdirectory

我很难完善带分页的子目录的重写规则。

我有一个名为/ files的目录,它位于我网站的根目录中。例如:www.site.com/files

位于/ files中的index.php脚本显示所有可能文件的列表(如果URL只是www.site.com/files

使用以下.htaccess脚本实现:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([a-z0-9]+)$ index.php?fileid=$1 [NC]
</IfModule>

/files目录包含一个名为/users

的指针

如果用户ID包含在网址中,/users/index.php脚本将显示特定于用户的文件列表,例如www.site.com/files/user/101

这适用于.htaccess文件,如下所示:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([a-z0-9]+)$ index.php?userid=$1 [NC]
</IfModule>

我想将分页添加到这两个index.php脚本提供的文件列表中。

例如,如果我每页显示25个结果:

www.site.com/files/1将显示所有文件的第一页,一到二十五。 www.site.com/files/2将显示所有文件的第二页,即二十六到五十。

然后用户特定的列表将是:

www.site.com/files/user/101/1会显示属于用户101的所有文件的第一页,一到二十五。

www.site.com/files/user/101/2会显示属于用户101的所有文件的第二页,二十六到五十。

加成:

www.site.com/files/1和www.site.com/files/1/应返回同一页面。 www.site.com/files/user/101/1和www.site.com/files/user/101/1/应返回同一页面。

我应该使用单个.htaccess文件而不是/files目录中的文件和/user目录中的文件来处理它吗?

有人可以帮我修改重写规则来处理分页吗?

1 个答案:

答案 0 :(得分:2)

RewriteRule ^([a-z0-9] +)/?$ index.php?pages = $ 1 [NC]

您可以对其进行测试here