0

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

我有一个名为 /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

如果 URL 中包含用户 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 的所有文件的第一页,从 1 到 25。

www.site.com/files/user/101/2将显示属于用户 101 的所有文件的第二页,从 26 到 50。

奖金:

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

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

4

1 回答 1

2

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

你可以在这里测试

于 2012-12-04T23:11:00.603 回答