我用IHttpHandler把几个html文件改成伪静态了,我在服务器设置了IIS里的应用程序配
置--映射,添加.html为c:\windows\microsoft.net\framework\v2.0.50727
\aspnet_isapi.dll了,伪静态成功了,但其它真的html文件却打不开了,提示Internet Explorer 无法显示该页面,请问是什么问题呢?
置--映射,添加.html为c:\windows\microsoft.net\framework\v2.0.50727
\aspnet_isapi.dll了,伪静态成功了,但其它真的html文件却打不开了,提示Internet Explorer 无法显示该页面,请问是什么问题呢?
我的web服务器是win2003,但在本地(winXP)里运行是正常的.
<httpHandlers>
<add verb="POST,GET" path="index.html" type="UrlRewriter"/>
....
</httpHandlers>UrlRewriter类public class UrlRewriter : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
string Url = context.Request.RawUrl;
....
//获得文件名FileName
if(FileName=="index.html"){
realfilename = "default.aspx";
}else{
realfilename = FileName +".html";
}context.Server.Execute(Url_Path + realfilename);
}public bool IsReusable
{
get { return true; }
}
}
realfilename = "default.aspx";
}else{
realfilename = FileName +".html";
}context.Server.Execute(Url_Path + realfilename);
}
else
{
//这里要写读取实际html的逻辑,我觉得你还是用httpmodule吧,这个不好
}
在下面的参数里添加c:\windows\microsoft.net\framework\v2.0.50727
\aspnet_isapi.dll,不要选检查文件是否存在的,就可以了,呵呵...
<buildProviders>
<add extension=".html"
type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>
</compilation>
不知这句有无影响