项目发布,项目想重写成.aspx 为.html
但同时这个项目也有真正的.html页面。
那么如果配置IIS6  .html映射到.aspx。貌似真正的html页面就无法正常访问。
那么该如何正确 配置。请不要再建议把真正的.html文件名更改成其他扩展名。
Sorry,页面过多。

解决方案 »

  1.   

    你需要在你的程序里判断是否物理存在html文件,存在就直接输出
      

  2.   

    其实就算利用重写规则“存在HTML物理文件时则不重写” 避免了不正确的重写,但仍然会带来另一个问题:对应那个 aspx 页面的重写将得不到访问(因为总是被 HTML 物理文件优先处理了请求)所以最彻底的办法还是避免使它们重复,让它们不可能重复。
      

  3.   


    public class HTMLHandler : IHttpHandlerFactory
    {
        #region IHttpHandlerFactory 成员    public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated)
        {
            string path = string.Empty;        try
            {
                context.Response.WriteFile(context.Server.MapPath(url));
                return null;
            }
            catch
            {
                PageHandlerFactory factory = null;
                IHttpHandler handler = null;
                path = url.Replace("html", "aspx");
                factory = Activator.CreateInstance(typeof(PageHandlerFactory), true) as PageHandlerFactory;
                handler = factory.GetHandler(context, requestType, path, pathTranslated);
                return handler;
            }
        }    public void ReleaseHandler(IHttpHandler handler)
        {
            
        }    #endregion
    }
      

  4.   

    网站即有真实的html,又想伪html,可以用ISAPI_Rewrite
      

  5.   

    http://blog.csdn.net/shixin1198/archive/2006/10/16/1336846.aspx