0

ページネーションのあるサブディレクトリの書き換えルールを完成させるのに苦労しています。

Web サイトのルートにある /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 スクリプトによって提供されるファイルのリストにページネーションを追加したいと思います。

たとえば、1 ページあたり 25 件の結果を表示している場合:

www.site.com/files/11 から 25 までのすべてのファイルの最初のページが表示されます。 www.site.com/files/226 から 50 までのすべてのファイルの 2 ページ目を表示します。

そして、ユーザー固有のリストは次のようになります。

www.site.com/files/user/101/11 から 25 までの、ユーザー 101 に属するすべてのファイルの最初のページが表示されます。

www.site.com/files/user/101/2ユーザー 101、26 から 50 に属するすべてのファイルの 2 ページ目を表示します。

ボーナス:

www.site.com/files/1 と www.site.com/files/1/ は同じページを返すはずです。www.site.com/files/user/101/1 と www.site.com/files/user/101/1/ は同じページを返すはずです。

/filesディレクトリに 1 つとディレクトリに1 つではなく、単一の .htaccess ファイルでこれを処理する必要があります/userか?

ページネーションを処理するために書き換えルールを変更するのを手伝ってくれる人はいますか?

4

1 に答える 1

2

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

ここでテストできます

于 2012-12-04T23:11:00.603 に答える