应用场景:网站维护和未开发完成时,一般需要把所有请求都跳转的一个相关说明的页面,这样用户不至于困惑这个网站是不存在还是怎么了。

Solution1:使用一个名称为 app_offline.htm(名字需要一样,不区分大小写)文件,把这个文件放到你网站的根目录下面,至于这个页面的内容,你可以自己定义。现在所有的请求都会重定向到app_offline.htm页面。当你的网站完成之后,把app_offline.htm 文件删除即可。

Solution2:在asp.net 中也可以使用HttpRedirect 来完成相关功能。

a.首先你需要创建一个页面来作为最终的跳转页面,把这个网站的所有请求都重定向到这个页面(这里起个名字叫:Offline.html)。 你可以把你网站相关信息都写在这里,是正在维护,还是没开发完。

b.在IIS中创建一个网站(这里以IIS7为例说明),切换到Features View 功能界面,找到Http Redirect选项并双击。勾选“Redirect request to this destination:”选项,并输入你的Offline.html 所对应的地址(例如:http://localhost:8057/Offline.html). 在redirect behavior 框中还有两个复选框:

“Redirect all requests to exact destination (instead of relative to destination)”:不是必选项,用来设置 目标地址是绝对路径还是相对路径,默认值是 false(不勾选)。

“Only redirect request to content in this directory (not subdirectories)”:不是必选项,作用:根据重定向路径和请求路径来决定最终的目标路径,默认值是 false(不勾选)。

以上选项所对应的web.config 的配置文件是:

  <system.webServer>
<httpRedirect enabled="true" destination="http://localhost:8057/Offline.html" exactDestination="false" childOnly="false" />
</system.webServer>

c.设置Status Code:默认返回302,表示由于出现问题临时重定向到一个新的地址。还有301(表示永久重定向),307.

d.设置好之后,点击右上角的Apply。在IIS中重启网站,现在所有请求都会重定向到目标地址。

可能遇到的问题:如果所有设置都设好之后,可能会碰到“此网页无法显示”(IE) 或者“此网页包含重定向循环”(chrome) 的问题?

Solution:碰到这个问题,并不是你的设置错了,而是犯了一个silly mistake。网站重定向,不能重定向到自己,只能重定向到其它网站,不然会出现重定向循环的错误。(满满的都是泪。。。) 只需要单独建一个网站作为目标地址,然后把重定向的地址修改为目标地址即可。

asp.net 网站所有请求跳转到同一个页面的更多相关文章

  1. ASP.Net 设置 404错误跳转到指定页面

    分享 ASP.Net 网站设置 404错误跳转到指定页面的三种方法 方法一:Web.config 配置 1 首先双击打开项目中的“Web.config”文件  找到 system.web 节点,在 c ...

  2. Vue+elementUI 自定义动态数据菜单导航组件实现展开收缩+路由跳转router-view渲染数据 路由跳转到同一个页面带参数ID 自动刷新数据

    准备:导入ElementUI 看官网教程 数据准备:JSON数据转换成树状 参考文章: JS实现 JSON扁平数据转换树状数据 后台我拿的数据是这样的格式: [ {id:1 , parentId: 0 ...

  3. asp.net网站项目调用page,或者ashx页面不能用反射

    public class TestHandler : System.Web.IHttpHandler { public bool IsReusable { get { return false; } ...

  4. html跳转到同一个页面的不同位置

    <html> <body> <p><a href="#C4">查看 Chapter 4.</a></p> & ...

  5. vue监听路由的变化,跳转到同一个页面时,Url改变但视图未重新加载问题

    引入:https://q.cnblogs.com/q/88214/ 解决方法: 添加路由监听,路由改变时执行监听方法 methods:{ fetchData(){ console.log('路由发送变 ...

  6. asp.net网站优化经验之谈

    最近公司一个项目上线后,经常崩溃,于是开始重视性能问题,在网上看到了许多相关文章,整理下发了上来.以备参考. 在用ASP.NET开发网站的时候,性能是永远需要考虑和关注的问题,性能不仅仅只是程序代码执 ...

  7. js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台

    setInterval(function(){//ajax 请求后台数据},1000);这个是A页面的定时器然后我在A页面通过其他请求跳转到其他页面之后后台发现A页面的定时器的那个请求仍然在执行为什么 ...

  8. 一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法!

    一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法! 对于大中型网站,为了增强用户体验,往往需要根据不同城市站点的用户推送或展现相应个性化的内容,如对于一些大型门户网站的新闻会有 ...

  9. C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式

    C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...

随机推荐

  1. linux命令之mount

    熟悉linux的同学都应该知道mount命令.在linux中,一切皆文件.硬盘分区都是以文件目录的方式存在. 如果我们想访问移动硬盘,U盘等我们必须将这些设备mount到我们linux文件系统中某个目 ...

  2. MapReduce工作机制

    MapReduce是什么? MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,MapReduce程序本质上是并行运行的,因此可以解决海量数据的计算问题. MapReduce ...

  3. Sereja and Coat Rack(水)

    Sereja and Coat Rack Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I6 ...

  4. Win32K里的死循环

    引用注明>> [作者:张佩][原文:www.YiiYee.cn/blog] 这是我到新公司后上手的第一个issue.一线project师找到我,说有一个urgent issue有没有兴趣看 ...

  5. 【Tarjan,LCA】【3-21个人赛】【problemD】

    Problem D Time Limit : 6000/3000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  6. read op case $op in

     read op case $op in

  7. Swift和Objective-C的差异性

    1:Type Swift提供了类型推断,不需要人工的去注释变量的类型信息,编译器会通过变量的值来推断类型.例如,编译器可以自动将该变量设置为字符串: // 自动推断,不显示 var name1 = & ...

  8. Arduino周边模块:传感器部件(温敏、光敏、湿敏)

    Arduino周边模块:传感器部件(温敏.光敏.湿敏) Arduino周边模块:传感器部件(温敏.光敏.湿敏) Arduino的模数转换 对于Arduino来说,它只认识数字量,模拟量对其来说就是一门 ...

  9. Jsoup小Demo

    Jsoup小Demo public class JsoupUtil { public void parseWangYi() { Document doc = null; try { //eg1:解析百 ...

  10. javascript获取元素结点到页面的绝对距离的方式

    var div = document.getElementById('div');var p = getPos(div); function getPos(obj) { var pos = {left ...