如题,还有淘宝的那个分类是如何静态化的呢

解决方案 »

  1.   

    url重写
    一些不会变的可以直接生成静态页面(如新闻显示页之类的)
      

  2.   

    新闻类页面生成静态页面
    其他可以考虑URL重写或者伪静态
      

  3.   

    用url重写伪静态吧!呵呵
    后缀变成.html的
      

  4.   

    经常不变的才会生成html   分类列表可以生成html
      

  5.   

    通过模板或urlrewriter等重写url.
    还要使用cache
    http://topic.csdn.net/u/20090216/23/200596a5-24cc-4f40-8f24-f29b5e786c4c.html
      

  6.   


    #region 批量生成静态核心
            public static string BatchBuildHtml(string newsID, string fileName, string pageIndex, string webPath)
            {
                //还没有生成过静态文件,生成过静态文件的路径
                string softURL = ConfigurationManager.AppSettings["HtmlTemplet"].ToString();
                softURL += "?nid=" + newsID + "&pid=" + pageIndex;            try
                {
                    WebRequest wReq = WebRequest.Create(softURL);
                    WebResponse wResp = wReq.GetResponse();
                    DateTime updated = ((HttpWebResponse)wResp).LastModified;
                    Stream respStream = wResp.GetResponseStream();
                    StreamReader reader = new StreamReader(respStream, System.Text.Encoding.GetEncoding("gb2312"));
                    string respHTML = reader.ReadToEnd();                string[] tmp = fileName.Split('/');                Directory.CreateDirectory(webPath + tmp[0] + "\\" + tmp[1]);        //建立文件夹                //respHTML =respHTML.Replace("    ","");        //去制表符
                    //respHTML =respHTML.Replace("\r\n","");        //去回车换行                //新版生成
                    //存放文件的物理路径——文件夹
                    tmp = fileName.Split('_');
                    string saveSoftPath = webPath + tmp[0] + "_" + tmp[1] + "_" + pageIndex + ".html";
                    Stream mystreamnew = File.Open(saveSoftPath, FileMode.Create);
                    StreamWriter swnew =new StreamWriter(mystreamnew, System.Text.Encoding.GetEncoding("gb2312"));                swnew.Write(respHTML);
                    swnew.Close();
                }
                catch (Exception ex)
                {
                    return "<BR>" + ex.Message + "\\n静态页生成失败。新闻ID号:" + newsID;
                }
                return "true";
            }
            #endregion
      

  7.   

     其实可以结合urlrewrite和静态生成。。经常要变的东西还是用重写比较好。。 不变的就生成静态页吧。。比如新闻 全部静态化很麻烦,你更新一个东西,又要全部生成静态的。得不偿失。。