0

RewriteRule を定義しようとしています

サイト内には、次のようなページがあります。

index.php?pag=company&id=853

そして、私はこのルールを定義しました:

RewriteRule ^/([a-zA-Z0-9])/([0-9]+)$index.php?pag=company&id=$2 [NC, L]

この結果を取得しようとしています:

company/university-of-gloucestershire/1656

このルールは機能しますが、次のようなページ分割されたページでは機能しません。

index.php?pag=company&id=853&page=2

私は試した:

RewriteRule ^/(.*)/([0-9]+)/([0-9]+)$ index.php?pag=company&id=$2&page=$4 [NC, L]

取得しようとしています:

company/university-of-gloucestershire/1656/page/2

誰が何が間違っているのか指摘できますか?

4

1 に答える 1

0

タイプミスのようです。$4ページネーションのルール例には存在しません。また、これが にある.htaccess場合、最初のスラッシュはそこにあるべきではありません。.*貪欲なので、. ではなく任意の文字に置き換えました/

RewriteRule ^([^/]+)/([^/]+)/([0-9]+)/([^/]+)/([0-9]+)$ index.php?pag=$1&id=$3&page=$5 [NC,L]

company/university-of-gloucestershire/1656/page/2次のようになります。

index.php?pag=company&id=1656&page=2

誰かがページ番号を指定していないページをまだキャッチする必要があるため、そのルールはこのルールの前に置く必要があります。

RewriteRule ^([^/]+)/([^/]+)/([0-9]+)(/page/?)?$ index.php?pag=$1&id=$3&page=1 [NC,L]

company/university-of-gloucestershire/1656/

company/university-of-gloucestershire/1656/page次のようになります。

index.php?pag=company&id=1656&page=1
于 2013-06-15T02:38:16.287 に答える