2009-05-12 8 views
0

にもかかわらず、リダイレクトされません。私はhttp://www.tweetMP.org.auIIS7は、MVCはWWWfilter

WWWをホームページ用に除外されていない、すべての私の行動私のサイトのための

public class WwwFilter : ActionFilterAttribute, IActionFilter { 

    #region IActionFilter Members 

    void IActionFilter.OnActionExecuted(ActionExecutedContext filterContext) { 

    } 

    void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext) { 

     var request = filterContext.HttpContext.Request; 
     var response = filterContext.HttpContext.Response; 

     if (request.Url.Host.StartsWith("www")) { 
      string newPort = request.Url.IsDefaultPort ? "" : ":" +request.Url.Port.ToString(); 
      string newUrl = request.Url.Scheme + "://" +request.Url.Host.Replace("www.", "") + newPort + request.Url.AbsolutePath; 
      filterContext.Result = new RedirectResult(newUrl); 

     } 
    } 

    #endregion 
} 

上のWWWフィルターを持っている、またはいくつかの展開しましたメニューを使用してサイトを中心に訪問した場合、最終的には、WWWは、フィルタキックとして表示されなくなり、他のページ

私はなぜこの見当がつかない起こる何か案は?

UPDATE:これは、私がやっている各アクションのOutputCacheと関係しています。中程度の信頼環境でWWWフィルタを行う正しい方法は何ですか?

答えて

1

組み込みのIIS7 URL Rewrite Moduleのリダイレクトのサポートを使用して調べます。また、クライアントブラウザでキャッシュすることもできます。強制的なリフレッシュ(Shift + F5)を実行するとリダイレクトが機能しますか?

さらに、画像、スクリプト、CSSのサブドメイン内でパフォーマンスの最適化を行う場合は、www。親ドメイン(mydomain.ext)に設定されたCookieはサブドメイン(images.mydomain.ext)にも送信されます。