1

作成しようとしている次の URL Rewrite があります。

<rule name="Imported Rule 3">
    <match url="^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)" ignoreCase="true" />
    <action type="Rewrite" url="/{R:0}/{R:1}.aspx?p={R:2}&title={R:3}" appendQueryString="true" />                  
</rule>

以下のURLを下記に書き換えてほしい。

/Catalog/Product/1/Title-Description

/Catalog/Product.aspx?pid=1&title=Title-Description

/Events/Detail/1/Today
/Events/Detail.aspx?pid=1&title=Title-Description

基本的に、書き込みを汎用にして、複数のシナリオに適用したいと考えています。4 つのスラッシュを含む URL がある場合はいつでも、書き換えルールでそれを取得して URL に変換する必要があります。

したがって、イベントのURL

1/1/1/1 が有効です。

どちらに変換されますか

/1/1.aspx?pid=1&title=1

例を挙げましょう。

シナリオごとに個別に書き直す必要はありません。

しかし、私が書いた上記の書き換えは、サーバー上でエラーをスローし続け、構文の何が問題なのかを見つけることができないようです. サーバーは一般的な 500 エラーを表示するので、それを絞り込むことはできません。

問題はアクションタグにあると確信しています。

私はそれを次のように書きました

<action type="Rewrite" url="/{R:0}/{R:1}.aspx?p={R:2}&title={R:3}" appendQueryString="true" />     

<action type="Rewrite" url="/{R:1}/{R:2}.aspx?p={R:3}&title={R:4}" appendQueryString="true" />     

どちらのオプションも機能しません。

4

1 に答える 1