4

私はスレッドを読みましたが、まだ解決できません。私の問題はわかっていますが、正しい方向に向けることができるかどうか疑問に思っています。

ルールを設定しました:

www.mydomain.com/productlist.asp?CategoryID=2

に書き直した

www.mydomain.com/homeware/cushions

.

            <rule name="cushions">
                <match url="^homeware/cushions" />
                <action type="Rewrite" url="productlist.asp?CategoryID=2" />
            </rule>

さて、私の問題は結果のページネーションにあるため、ユーザーが次のページに移動したときの元のドメインは次のようになります。

www.mydomain.com/productlist.asp?CategoryID=2&Page=2

これは私が問題を抱えている場所です-私はこれがなりたいです:

www.mydomain.com/homeware/cushions?page=2

そして、それを機能させることができないページ数について進行中です-クエリ文字列を使用する必要があることは理解していますが、本当に苦労しています。専門知識を求めて、助けてくれてありがとう

4

2 に答える 2

2

クエリ文字列をキャプチャするには、一致 URL に含まれていないため、条件を使用する必要があります。したがって、次のようなルールでそれを行うことができます。

<rule name="cushions" stopProcessing="true">
<match url="^homeware/cushions$" />
<conditions>
    <add input="{QUERY_STRING}" pattern="page=(\d+)" />
</conditions>
<action type="Rewrite" url="productlist.asp?CategoryID=2&amp;page={C:1}" appendQueryString="false" /> 

于 2011-06-27T16:02:24.407 に答える
0

アクションに appendQueryString="true" を追加するだけで、クエリ文字列が自動的に追加されます。

<rewrite>
        <rules>
            <rule name="test">
                <match url="^homeware/cushions" />
                <action type="Rewrite" url="/test/test.cfm?category=5" appendQueryString="true" />
                <conditions>
                </conditions>
            </rule>
        </rules>
    </rewrite>

http://localhost:8081/homeware/cushions?page=2 値 2 の URL 変数でページを受け取ります。

于 2011-07-04T11:26:44.723 に答える