2009-07-27 30 views
1

ASP.NET MVCを使用する2つのアプリケーションがあり、それぞれに複数のコントローラがあります。IIS - ASP.NET MVCリダイレクト

私はアプリケーションAからアプリケーションBへのリダイレクトを行いたいが、アプリケーションA(1つのコントローラ)上の単一ルートに対してのみリダイレクトしたい。

例: IISのリダイレクトのための

/ApplicationAを/問題/ */ApplicationBをにリダイレクトする必要があります/問題/

/ApplicationAを/品質/

をリダイレクトするべきではない例は私にファイルをクリックする方法の例を示しています/フォルダーを有効にしてリダイレクトを有効にしますが、物理パスではなくルートを実行しようとしています。

ASP.NETソースを変更したくありません(可能な場合)。

ありがとうございました。

編集 - これはIIS6のWin2k3にあります。

答えて

1

ええ、その最後のビットは本当の注意点です。これがIIS7上にあれば、100%簡単になります!

リダイレクト作業を行うために別のアプリをダウンロードできますが、MVCアプリを編集するのは難しくありません。/issue /と/ quality /が異なるルートであると仮定すると、次のようなことはしないでください。

public class MyController 
{ 
    public RedirectResult Issue() 
    { 
    //return as a redirect 
    return Redirect("http://applicationb/issue"); 
    } 

    public ActionResult Quality() 
    { 
    //This is here to show that, instead of redirecting, it returns a view. 
    return View(); 
    } 
} 
+0

私はIISレベルでそれをやりたいと考えていたので、管理ツールを見ている人は誰でも明示的でした。 UrlRewritingを見ると、私のMVCルートを変更するだけではそれを使用するメリットはありません。これは答えのようです。 – anonymous

+0

リストの先頭にルートを追加し、新しいRedirectResultを返すアクションを追加しました。 IIS7はこれに対処しているようですが、ASP.NETとIIS5/6のほうがずっと簡単でした。 – anonymous

+0

うれしい私は助けることができました! –

1

URLRewriting.NETを使用すると、正規表現パターンに基づいてリダイレクトを行うことができます。

+0

私は同意します。 IIS6のソリューションとして、UrlRewriting.NETがおそらく最高です。 @Michael、答えに追加したいURLはhttp://urlrewriting.net/149/en/home.htmlです。 –

+0

@dan - ありがとう、リンクを追加しました! –

関連する問題