2010-12-01 4 views
0

URLの書き換えを使用して私のウェブサイトのページURLの構造を変更しました。古い構造を新しいものにリダイレクトする必要があります。私の問題は、実際のURLではなく書き換えられたURLにリダイレクトしたいのですが、これを行う方法が見つからないということです。ASP.Net 301のリダイレクトとURLの書き換え

のRewriteRule ^製品/([^ _ \ rをする\ nは//] *)/([^ _ \ rをする\ nは//] *)/ $:私は、次のURLを持っていた変更前

/products.aspx?cat=$1 & SUBCAT = $ 2】【NC、L]

変更した後、私は次のようしている:

のRewriteRule ^製品 - ([^ _ \ rを\ nは//] *を) - ([^ _ \ r \ n //] *)/ $ /products.aspx?cat=$1 & subcat = $ 2 [NC、L]

ここでやりたいことは、 URL帽子の一致

^製品/([^ _ \ r \ n //] *)/ $ to ^製品 - ([^ _ \ r \ n - ([^ _ \ rをする\ nを

するRewriteRule ^製品: - //] *)([^ _ \ rをする\ nは//] *)/ $、

はすなわち、次のルールを持っています([^ _ \ r \ n //] *)/ $ products - ([^ _ \ r \ n //] *) - ([^ _ \ r \ n //] *)/[NC、L]

は、上記のルールは、次のエラーが生成されます。

"ページが適切にリダイレクトされていません"

.Netでやるか、URL書き換えルールを使用する方法はありますか?

何か助けが大歓迎です。 (* [^ _ \ rをする\ nは//]) - ([^ _ \ rをする\ nは//] *) -

するRewriteRule ^製品:

+0

書き換えには何を使用していますか?どのバージョンのIISを使用していますか? – CodeMonkey1313

+0

あなたの表現をあまり深く掘り下げることなく、あなたが最も得意とするメッセージは、リダイレクトループ、つまり無限に自分自身にリダイレクトすることを示しています。 –

+0

Helicon ISAPI 3.0とIIS 6を使用しています。問題は別の仮想パスへのリダイレクトであり、物理パスではないと想定します。 – user501223

答えて

0

[OK]を、私は以下のルールを使用して問題を修正しました/ $ /redir.aspx?url=/products-$1-$2/ [NC、L]

redir.aspxページは、301コードをヘッダーに書き込み、渡された新しいURLに転送します。それに対するパラメータ。

関連する問題