0

URLリライト/ SEO最適化の目的で301リダイレクトを実装しようとしています。私はVB.NETのWebサイトのモジュール内でこれらのリダイレクトを実行しています。301レスポンスヘッダーを使用したリダイレクトが正しくリダイレ​​クトされない

ヘッダーに新しい場所を指定すると、新しい場所が完全に置き換えられるか、相対パスを使用する代わりに、既存のURLに常に新しい場所が追加されます。だからではなく、素敵なURLの私は両方の組み合わせを得る:ここで

http://site.com/productList.aspx?id=123&fid=123&mid=123http://site.com/store/books/ 

は私がリダイレクトのために使用しているコードです:

httpContext.Response.Status = "301 Moved Permanently" 
httpContext.Response.AddHeader("Location", "http://site.com/store/books") 
httpContext.Response.End() 

私は相対的な〜/パスを使用しようとしてきました成功なし。私は間違っていると思いますが、それはとても簡単です。助けてください!前もって感謝します。

答えて

1

ASP.NETが既に応答バッファを満たし始めた後にこれを実行しようとしていますか?まずResponse.Clear()を呼び出してみてください。

+0

Response.Clearメソッドを試して、それが動作するかどうかを確認します。 – letsgetsilly

1

投稿したコードがうまく機能しました。

RedirectPermanentメソッドを使用できます。

+0

このコードは過去に私のために働いていました。その違いがリクエストライフサイクルの早い段階でモジュールで使用されている可能性がありますが、リクエストライフサイクルに精通しているわけではありませんので、原因はわかりません。あなたの提案をありがとうが、残念ながら私はネット上3.5です。 – letsgetsilly

関連する問題