我需要把http://www.nnnnn.com/index.aspx?id=guangzhou
配置成  http://www.nnnnn.com/guangzhou
================================
请问需要怎么配置,普通页面的方式的配置不需要说明,这里我是需要配置成目录形式的。
我的程序是asp.net的

解决方案 »

  1.   

    这没法伪静态了,要用到ASP.NET MVC的路由机制了自己查一下吧
      

  2.   

    web.config <RewriterConfig>
    <Rules>
          <RewriterRule>
            <LookFor>http\://本地IP:端口/(\d+)</LookFor>//flag 所属栏目 p所属分类
            <SendTo>~/Utility/creathtml.aspx?flag=news&amp;p=detail&amp;nid=$1</SendTo>
          </RewriterRule>
    </Rules>
    </RewriterConfig>/Utility/creathtml.aspx前台空内容除
    后台
      private void Changeurl(string pagename, string flag)//flag 所属栏目 pagename所属分类
        {        string url = "";
            if (flag == "news")
            {
      switch (pagename)
                {
                    case "detail":
                        url = Makenewsshow(flag);//自写方法
                        break;
    default:
                        break;
    }
    }
     private string Makenewsshow( string flag)
        {
            if (Request["id"] != null)
            {
              return urlchangeuntils.ChangeUrl(Request["id"].ToString());
              //自写urlchangeuntils类中的自写ChangeUrl(Request["id"].ToString());
            }
            else
            {
                return "";
            }
        }urlchangeuntils   public string ChangeUrl(string id)
            {
              
                string url = "";
                string realurl = "index.aspx?id=" + id ;//赋值给动态页
                string nametype = "/PageCache/news/" + p ;//在指定文件夹生成静态页            url = HtmlProxy.ChangeFile(nametype, realurl, true);
                return url;
            }HtmlProxy工具类     public static string ChangeFile(string NameType, string RealRequest,bool treestate)
            {
                string directory = "";
                directory = "~" + NameType.Remove(NameType.LastIndexOf("/") + 1);
                RealRequest = "~" + RealRequest;
                if (!Directory.Exists(HttpContext.Current.Server.MapPath(directory)))
                {
                    Directory.CreateDirectory(HttpContext.Current.Server.MapPath(directory));
                }
                string filename = HttpContext.Current.Server.MapPath( NameType + ".html");
                //尝试读取已有文件 
                Stream st = GetFileStream(filename);
                //如果文件存在并且读取成功 s
                if (st != null)
                {
                    using (st)
                    {
                        //StreamToStream(st, HttpContext.Current.Response.OutputStream);
                        if (treestate == true)
                        {
                            StreamToStream(st, HttpContext.Current.Response.OutputStream);
                            return NameType + ".html";
                        }
                        else
                        {
                           
                            return  NameType + ".html";
                        }
                    }
                }
                else
                {
                    StringWriter sw = new StringWriter();
                   // Request = false;
                    HttpContext.Current.Server.Execute(RealRequest, sw);                string content = sw.ToString();
                    //写进文件
                    try
                    {
                        using (FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.Write))
                        {
                            using (StreamWriter stw = new StreamWriter(fs, HttpContext.Current.Response.ContentEncoding))
                            {
                                stw.Write(content);
                            }
                        }
                        Stream st1 = GetFileStream(filename);
                        if (st1 != null)
                        {
                            using (st1)
                            {
                                if (treestate == true)
                                {
                                    StreamToStream(st1, HttpContext.Current.Response.OutputStream);
                                    return  NameType + ".html";
                                }
                                else
                                {
                                   
                                    return  NameType + ".html";
                                }
                            }
                        }
                        else
                        {
                            return "";
                        }
                    }
                    catch
                    {
                        return "";
                    }
                }
            }
      

  3.   

    一个是三层架构访问url,一个是mvc模式的访问url  目前 微软还没做到怎么兼容。
      

  4.   

    我需要把http://www.nnnnn.com/index.aspx?id=guangzhou
    配置成 http://www.nnnnn.com/guangzhou起码也要有个参数传递啊。要么post?要么参数加密?