簡體   English   中英

盡管有WWWfilter,但已部署IIS7的MVC仍未重定向

[英]IIS7 deployed MVC doesn't redirect despite 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
}

對於我的網站, http://www.tweetMP.org.au

沒有為主頁或其他一些頁面過濾掉www

如果您使用菜單訪問該站點,最終,隨着過濾器的啟動,www將會消失。

我不知道為什么會這樣。 有任何想法嗎?

更新:這似乎也與我執行的每個動作上的OutputCache有關。 在中等信任環境中進行WWW篩選的正確方法是什么?

我將研究使用內置的IIS7 URL重寫模塊對重定向的支持。 另外,它也可能在客戶端瀏覽器中進行緩存...如果執行強制刷新(Shift + F5),重定向是否起作用?

除此之外,如果您想在子域中對圖像,腳本和CSS進行性能優化,則可能需要保留www。 由於cookie設置為父域(mydomain.ext),因此也會發送到子域(images.mydomain.ext)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM