Web.config引发的一个问题,高分求解

MouseClick 2011-09-15 11:12:31
web.config代码如下

<?xml version="1.0" encoding="UTF-8"?>
<!--
注意: 除了手动编辑此文件以外,您还可以使用
Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
“网站”->“Asp.Net 配置”选项。
设置和注释的完整列表在
machine.config.comments 中,该文件通常位于
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
<appSettings>
<add key="SQLConnString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" />
<add key="dbPath" value="~/App_Data/cgs.mdb" />
</appSettings>
<connectionStrings />
<system.web>
<pages validateRequest="false" />
<!--
设置 compilation debug="true" 将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<compilation debug="true">
<assemblies>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</assemblies>
</compilation>
<!--
通过 <authentication> 节可以配置 ASP.NET 使用的
安全身份验证模式,
以标识传入的用户。
-->
<authentication mode="Windows" />

<customErrors mode="On" defaultRedirect="~/error/error.htm">
<error statusCode="404" redirect="~/error/notfound.aspx"/>
</customErrors>

<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。

<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<siteMap>
<providers>
<add siteMapFile="Webcn.sitemap" name="MyAspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add siteMapFile="Weben.sitemap" name="MyAspNetXmlSiteMapProvider1" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</siteMap>

</system.web>
<system.webServer>
<defaultDocument>
<files>
<add value="index.aspx" />
</files>
</defaultDocument>
</system.webServer>
</configuration>


上面的config文件在本地测试,输入不存在的1.html则可以跳到notfound.aspx,放到虚拟空间上输入不存在的1.html则直接就是iis的404找不到页面提示。当时如果输入的是不存在的1.aspx则可以跳到notfound.aspx.
求高手解释。
...全文
201 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
personball 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 sara_yhl 的回复:]
14# ,, 15# 说的怎么有点相反啊,不理解,虚拟空间指的是??请教
[/Quote]
就是说,网站空间是租的,服务器别人的
personball 2011-09-20
  • 打赏
  • 举报
回复
如果是自己的服务器,就可以随便设- -
我们自己网站报错页是个aspx页,配置customErrors无压力
阿妈的乖女儿 2011-09-16
  • 打赏
  • 举报
回复
14# ,, 15# 说的怎么有点相反啊,不理解,虚拟空间指的是??请教
lqkankan 2011-09-16
  • 打赏
  • 举报
回复
空间运营商在给你虚拟空间的时候一般都会在虚拟空间里面有一个404页面,你可以把它下载下来重新写一个页面或者不写都行,一般找不到默认就是跳的这个页面,想改成特殊点的 或者自己的 就直接改那个页面就行。
反正我用万网的虚拟服务器 里面是这样的 其他的就不太清楚了
孟子E章 2011-09-16
  • 打赏
  • 举报
回复
那是因为htm等静态页面是iis直接返回的,根本不走asp.net的程序,
空间商一般情况下是不允许设置映射的或者修改系统的404页面的
MouseClick 2011-09-16
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 personball 的回复:]
引用 2 楼 mouseclick 的回复:
有没有办法可以一举两得的,我的网站就是生产静态页面的。如何处理这个不存在的html页面呢

这个需求讲的不是很清楚
不存在的页面不就是跳到出错页或者直接报404么,遇到不存在的html之后怎么处理,正是lz你要决定的吧
[/Quote]
..这,不错正是如此。web.config中得配置在iis下无法解决不存在的.html页面。所以显示是不友好的,是iis错误页。
jayrao5566 2011-09-16
  • 打赏
  • 举报
回复
来学习.
  • 打赏
  • 举报
回复
有,IIS6 站点属性〉自定义错误〉找到404 默认是指向C盘下的“404找不到页面”,编辑它指向站点下的notfound.aspx

IIS7是 错误页 中更改指向
yuxh81 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jxyxhz 的回复:]

之所以aspx有用,而html没用
是因为iis里的配置里设定了*.aspx,*.config等文件由aspnet_isapi.dll来处理
而html默认是不处理,直接发送给客户端

如果你希望html也由aspnet_isapi.dll处理,可以去设置
但是这样,html的响应速度也会变慢,因为每个html都要多一道处理手续
很多网站用生成静态页,就是为了防止aspx的多的手续
……
[/Quote]

学习了。。
萧炎 2011-09-15
  • 打赏
  • 举报
回复
用路由可以解决
MouseClick 2011-09-15
  • 打赏
  • 举报
回复
有没有办法可以一举两得的,我的网站就是生产静态页面的。如何处理这个不存在的html页面呢
小_虎 2011-09-15
  • 打赏
  • 举报
回复
之所以aspx有用,而html没用
是因为iis里的配置里设定了*.aspx,*.config等文件由aspnet_isapi.dll来处理
而html默认是不处理,直接发送给客户端

如果你希望html也由aspnet_isapi.dll处理,可以去设置
但是这样,html的响应速度也会变慢,因为每个html都要多一道处理手续
很多网站用生成静态页,就是为了防止aspx的多的手续

设置方法:
进入管理工具里的“Internet 信息服务(IIS)管理器”,在网站上按右键=》属性=》主目录=》配置=》点击映射里的添加,
可执行文件输入:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll
扩展名输入:.html,然后确定即可。
cjh200102 2011-09-15
  • 打赏
  • 举报
回复
楼上讲解很详细
personball 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mouseclick 的回复:]
有没有办法可以一举两得的,我的网站就是生产静态页面的。如何处理这个不存在的html页面呢
[/Quote]
这个需求讲的不是很清楚
不存在的页面不就是跳到出错页或者直接报404么,遇到不存在的html之后怎么处理,正是lz你要决定的吧
CalvinR 2011-09-15
  • 打赏
  • 举报
回复
学习了 帮顶…………
SanSan 2011-09-15
  • 打赏
  • 举报
回复
学习 帮顶
第五季思念 2011-09-15
  • 打赏
  • 举报
回复
学习学习

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧