0

私が管理している古いASPストアサイトでコードを機能させるのに苦労しています-完全に機能する以下を追加しました

RewriteBase /
RewriteRule ^cat/[^?/]*_(\d+)\.htm /store/prodList.asp?idcategory=$1 [QSA]

問題は、カテゴリページに複数のページがある場合です。そのようにクエリ文字列に別のいくつかのパラメータを追加するので

/store/prodList.asp?idcategory=102&curPage=2&sortField=sortorder

さらに3つのクエリ文字列パラメータを取得して、書き換えられたURLに追加する例を探しています...誰か助けてもらえますか?

したがって、たとえば、現在、次のURLは正常に機能します

cat/productname_5.htm ... equates to ... /store/prodList.asp?idcategory=5

複数のページがある場合、次のようなことをする必要がありますか?しかし、ISAPI構文がわかりませんか?

cat/productname_5_2_sortorder.htm ... would equate to ... /store/prodList.asp?idcategory=5&curPage=2&sortField=sortorder

それがもっと理にかなっているといいのですが?

4

1 に答える 1

0

これがあなたが求めていることだと思います.[L]引数を設定して、最初の一致で一致を停止させます。?

しかし、[L] では、最初に 4 つの引数、次に 3、2 など、最も制限の厳しい順序で並べ替える必要があります。

  ReWriteRule ^/store/([0-9]+)/([0-9]+)/{0,1}$ /store/prodList.asp\?idcategory=$1&curPage=$2 [L]

  ReWriteRule ^/store/([0-9]+)/([0-9]+)/([A-Za-z]+)/{0,1}$ /store/prodList.asp\?idcategory=$1&curPage=$2&sortField=$3 [L]
于 2009-05-01T11:08:46.183 に答える