2009-07-05 6 views
2

私はいくつかのページを永続的にリダイレクトする必要があります、そして、ユーザーを新しいURLにもリダイレクトしてください。ASP.NETで301永続リダイレクトを送信するにはどうすればよいですか?

このコードは、正しいヘッダーのみを設定します。ユーザーはリダイレクトされません。

public static void PermanentRedirect(this HttpResponse response, string newUrl) 
{ 
    response.Status = "301 Moved Permanently"; 
    response.StatusCode = 301; 
    response.AddHeader("Location", newUrl); 
} 

は私が入れた場合:

Response.Redirect(newUrl); 

最後に、302一時的なリダイレクトが行われます。

301ユーザーをリダイレクトするにはどうすればよいですか?

関連質問:

How do I programatically 301 redirect in an asp page

+0

私はちょうどその上のブログの記事を書いた:http://www.ko-sw.com/Blog/post/Permanent-Redirect-Using-ASPNET.aspx – Kerido

答えて

4

Response.FlushとResponse.Endのを試してみてください。リダイレクトでは、リクエストを終了すると、302.

+0

Response.Endのは、トリックをした:) – MartinHN

0

か、ISAPIを試してみますか?それはmod_rewriteとIIS上の他の.htaccess機能を模倣します。

2

注ASP.NET 4.0では、これが組み込まれているため、RedirectPermanent()メソッドを使用できます。例えば

RedirectPermanent("/newpath/foroldcontent.aspx"); 
関連する問題