新版网站
使用UrlRewritingNet重写url以.html的伪静态页面后,真实的.html无法访问的解决方法
发布时间:2013/10/13   已被4837人阅读    分享到:

1、在web.config中添加以下项目。

<compilation>
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
</buildProviders>
</compilation>

<httpHandlers>
<add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory"/>
</httpHandlers>

2、重写处理方法

Namespace web

{

    public class eastClass : IHttpHandler

    {

        public bool IsReusable

        {

            get { return true; }

        }

 

        public void ProcessRequest(HttpContext context)

        {

            Uri url = context.Request.Url;

            string filepath = context.Request.Url.AbsolutePath;

            filepath = context.Server.MapPath("//") + filepath.Replace("/", "//");

            if (File.Exists(filepath) == false)

            {

                if (url.ToString().IndexOf("要处理的url中的关键字") > -1)

                {

                    string uname = url.Segments[url.Segments.Length - 1];//取出带后缀文件名称

                    string id = uname.Substring(0, uname.IndexOf("."));//真实的文件名

                    if (id != "")

                        context.Response.Redirect("/xxx.aspx?id=" + id, true);//跳转

                }

                else

                {

                    filepath = context.Server.MapPath("//") + "404.htm";

                    string tempstr;

                    using (StreamReader sr = new StreamReader(filepath, Encoding.Default))

                    {

                        tempstr = sr.ReadToEnd();

                    }

                    context.Response.Write(tempstr);

                    context.Response.End();

                }

            }

            else

            {

                string tempstr;

                using (StreamReader sr = new StreamReader(filepath, Encoding.UTF8))

                {

                    tempstr = sr.ReadToEnd();

                }

                context.Response.Write(tempstr);

                context.Response.End();

 

            }

        }

    }

}

本文分享地址:http://www.cn7080.com/news/81.html上海网站建设公司朗晟网络编辑,转发请注明来源及版权归属。
上一篇:没有了 【关闭】
下一篇:朗晟网络公司新版官方网站正式上线