当前位置:编程学习 > C#/ASP.NET >>

RewritePath 放到IIS报404错误 是高手你就来

一开始连 .html 的都报404  后来我在web.config加了
<add name="html-4.0" path="*.html" verb="*" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
就好了 

但是  http://localhost:8010/lishi/2013/11/26   这样的 就报404错误了
如果我把path="*.html" 改为 path="*" 是不报404了,但是它会连css,image,js文件都请求, 很不好 效率也低  , 高手给个解决方案 


 void Application_BeginRequest(object sender, EventArgs e)
        {
            string originalUrl = Request.Url.PathAndQuery.ToLower();
            string newUrl = "";

            Regex reg = new Regex(@"\d{4}/\d{1,2}/\d{1,2}");
            if (reg.IsMatch(originalUrl))
            {
                string[] strDate = originalUrl.Split(new char[] { '/' });
                newUrl = "/" + strDate[1] + ".aspx?date=" + strDate[2] + "-" + strDate[3] + "-" + strDate[4];
                HttpContext.Current.RewritePath(newUrl);
                //HttpContext.Current.Server.Execute(newUrl);
            }
            else if (originalUrl.Contains("html"))
            {
                newUrl = "~" + originalUrl.Replace(".html", ".aspx");
                HttpContext.Current.RewritePath(newUrl);
            }
            
        }
--------------------编程问答-------------------- VS2012(IIS Express) 运行正常 --------------------编程问答--------------------

快来吧 高手们  来来来
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,