asp.net 如何把所有请求都跳转到一个页面?

cstester 2011-09-19 02:07:03
网站维护的时候,无论用户请求那个页面,都跳转到维护页面,提示网站当前状态为维护阶段。

我的方法:
方法一(配合Session):例如:www.baidu.com 原来是index.aspx ,我在IIS中把主页配制成维护页面,
但是请求:www.baidu.com/abc/a.aspx 还是可以进入到网站的其他页面。
可以在其他页面里面验证Session 。我觉得这个根本不可行。但是却可以实现效果。

方法二(修改全局配置文件):当然,可以直接修改全局配置文件的ApplicationStart
但是还是需要修改原来的代码。

有没有更好的方法,在IIS中配置下,在不改动原来代码的情况下,实现如上的效果?

求更好的办法
...全文
618 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
重定向 mark
zhd320 2011-09-19
  • 打赏
  • 举报
回复
mark
gameboyerik001 2011-09-19
  • 打赏
  • 举报
回复
在web application根目录下放一个app_offline.htm文件

然后修改app_offline.htm页面的图片样式什么的

微软自己内部也是这么用的

推荐
暖枫无敌 2011-09-19
  • 打赏
  • 举报
回复
昨天刚在另一个帖子中回复过,地址:
http://topic.csdn.net/u/20110918/20/1d969ba7-a00e-41b7-b281-b42ce4195199.html

yusheng622 2011-09-19
  • 打赏
  • 举报
回复
这个问题我喜欢!
wddjzzxsdz 2011-09-19
  • 打赏
  • 举报
回复
可以用一般处理程序吧,所有的*.aspx的请求路径都跳转到一个维护页面去
卷泥巴重来 2011-09-19
  • 打赏
  • 举报
回复
session是个不错的选择!
ganlu423 2011-09-19
  • 打赏
  • 举报
回复
可以吧webconfig 弄错, 在webconfig中设置错误的转移界面
暗尘掩月 2011-09-19
  • 打赏
  • 举报
回复
mark
posefooler 2011-09-19
  • 打赏
  • 举报
回复
学习。
tg01 2011-09-19
  • 打赏
  • 举报
回复
果断重定向
宝_爸 2011-09-19
  • 打赏
  • 举报
回复
宝_爸 2011-09-19
  • 打赏
  • 举报
回复
你可以使用301重定向来做。

具体来说,你需要事先做一个页面,里面写着正在维护,这个页面平时是不用的。

当你需要网站维护时,你在IIS中添加301重定向指到这个维护网页,这样过来的请求都会被转到这个页面。

IIS 服务器实现301 重定向
打开internet 信息服务管理器,在欲重定向的网页或目录上按右键;
选中“重定向到URL”;
在对话框中输入目标页面的地址;
当然,最后要点击“应用”。

什么是301 重定向?
301 重定向也称301 转向,或者301 跳转。当用户或搜索引擎向网站服务器发出浏览请
求时,服务器返回HTTP 数据流,其中头信息(header)里包含某种状态码,301 重定向即
状态码中的一种,表示本网页永久性转移到另一个地址。
其它常见的状态码还包括:200 一切正常,404 网页找不到,302 暂时转向,等等。

希望对你有所帮助。

来自

http://social.msdn.microsoft.com/Forums/zh-CN/2212/thread/c291fe6e-42fa-4106-8a20-771e2b978408/
Gemini Dean 2011-09-19
  • 打赏
  • 举报
回复
方法一比较简单方便点吧
诺维斯基 2011-09-19
  • 打赏
  • 举报
回复
方法一可行
jshi123 2011-09-19
  • 打赏
  • 举报
回复
在web application根目录下放一个app_offline.htm文件
likevs 2011-09-19
  • 打赏
  • 举报
回复
web.config文件

<customErrors mode="On" defaultRedirect="系统维护中.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>


Global.asax文件

void Session_Start(object sender, EventArgs e)
{
//在新会话启动时运行的代码
throw new Exception("I'm Sorry");

}


//前提是确保web.config文件中
<sessionState mode="InProc" //以这种模式来保存会话状态
zijinyuxiao 2011-09-19
  • 打赏
  • 举报
回复
重定向到URL
cstester 2011-09-19
  • 打赏
  • 举报
回复
大侠们,小弟分不多了,希望不要在乎分,讨论讨论,就当一道面试题。
weimeishuxi 2011-09-19
  • 打赏
  • 举报
回复
一般情况下用Session传值,将url 值用session传到维护界面就可以!!
加载更多回复(4)

62,074

社区成员

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

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

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

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