2010-12-18 22 views
3

私はMulticulture MVC2のウェブサイトを持っています。 実は私のホームページは次のパスにアクセスすることができます:私が欲しいもの301 Asp.Net MVCのリダイレクト

http://mydomain.com 
http://mydomain.com/ 
http://mydomain.com/en 
http://mydomain.com/en/ 
http://mydomain.com/en/home 
http://mydomain.com/en/home/ 

は、上記のすべてのパスが301以下にリダイレクトさせることである。

http://mydomain.com/en 

私はしないように異なるURLの間でページランクを共有する必要があります。

en文字列は動的で、ウェブサイトのカルチャを設定することに注意してください。

私はAsp.Net MVCで新しく、誰かがそれを行うためのコードを投稿することができましたか? ありがとう

答えて

2

カスタムアクションの結果を作成できます。このスレッドを参照してください:新しい PermanentRedirectResultをこの

public class PermanentRedirectResult : ViewResult 
{ 
    public string Url { get; set; } 

    public PermanentRedirectResult(string url) 
    { 
     if (string.IsNullOrEmpty(url)) 
      throw new ArgumentException("url is null or empty", url); 
     this.Url = url; 
    } 

    public override void ExecuteResult(ControllerContext context) 
    { 
     if (context == null) 
     throw new ArgumentNullException("context"); 
     context.HttpContext.Response.StatusCode = 301; 
     context.HttpContext.Response.RedirectLocation = Url; 
     context.HttpContext.Response.End(); 
    } 
} 

ようhttp://forums.asp.net/p/1337938/2700733.aspx

2

何かをして、この

リターンでそれを呼び出す( "/ myurl");

+0

downvoter?なぜあなたがコメントを提供することができる少なくとも、投稿された後、この答えをdownvote 2yrs?またこれがMVCバージョン2であることを覚えておいてください! – Rippo