Esempio n. 1
0
        /// <summary>
        /// 页面请求事件处理
        /// </summary>
        /// <param name="sender">事件的源</param>
        /// <param name="e">包含事件数据的 EventArgs</param>
        private void ReUrl_BeginRequest(object sender, EventArgs e)
        {
            HttpContext context = ((HttpApplication)sender).Context;
            string requestPath = context.Request.Path; //获得当前页面,包含目录
            string requestPage = requestPath.Substring(requestPath.LastIndexOf("/")); //获得当前页面,不包含目录
            Hoto.Model.siteconfig siteConfig = new Hoto.BLL.siteconfig().loadConfig(HotoUtils.GetXmlMapPath(HotoKeys.FILE_SITE_XML_CONFING)); //获得站点配置信息

            bool isRewritePath = IsUrlRewrite(siteConfig.webpath, requestPath); //排除不需要URL重写的目录
            switch (siteConfig.staticstatus)
            {
                case 0: //关闭重写
                    if (isRewritePath && IsAspxFile(requestPath))
                    {
                        context.RewritePath(siteConfig.webpath + HotoKeys.DIRECTORY_REWRITE_ASPX + "/" + requestPage);
                    }
                    break;
                case 1: //伪URL重写
                    if (isRewritePath)
                    {
                        RewriteUrl(context, siteConfig.webpath, requestPath, requestPage);
                    }
                    break;
                case 2: //全静态
                    if (requestPath.ToLower().Equals("/index.aspx"))
                    {
                        context.RewritePath(siteConfig.webpath + HotoKeys.DIRECTORY_REWRITE_HTML + "/index." + siteConfig.staticextension);
                    }
                    break;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 页面请求事件处理
        /// </summary>
        /// <param name="sender">事件的源</param>
        /// <param name="e">包含事件数据的 EventArgs</param>
        private void ReUrl_BeginRequest(object sender, EventArgs e)
        {
            HttpContext context     = ((HttpApplication)sender).Context;
            string      requestPath = context.Request.Path;                                                                                   //获得当前页面,包含目录
            string      requestPage = requestPath.Substring(requestPath.LastIndexOf("/"));                                                    //获得当前页面,不包含目录

            Hoto.Model.siteconfig siteConfig = new Hoto.BLL.siteconfig().loadConfig(HotoUtils.GetXmlMapPath(HotoKeys.FILE_SITE_XML_CONFING)); //获得站点配置信息

            bool isRewritePath = IsUrlRewrite(siteConfig.webpath, requestPath);                                                               //排除不需要URL重写的目录

            switch (siteConfig.staticstatus)
            {
            case 0:     //关闭重写
                if (isRewritePath && IsAspxFile(requestPath))
                {
                    context.RewritePath(siteConfig.webpath + HotoKeys.DIRECTORY_REWRITE_ASPX + "/" + requestPage);
                }
                break;

            case 1:     //伪URL重写
                if (isRewritePath)
                {
                    RewriteUrl(context, siteConfig.webpath, requestPath, requestPage);
                }
                break;

            case 2:     //全静态
                if (requestPath.ToLower().Equals("/index.aspx"))
                {
                    context.RewritePath(siteConfig.webpath + HotoKeys.DIRECTORY_REWRITE_HTML + "/index." + siteConfig.staticextension);
                }
                break;
            }
        }