zoukankan      html  css  js  c++  java
  • asp.net 网站所有请求跳转到同一个页面

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

    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。网站重定向,不能重定向到自己,只能重定向到其它网站,不然会出现重定向循环的错误。(满满的都是泪。。。) 只需要单独建一个网站作为目标地址,然后把重定向的地址修改为目标地址即可。

  • 相关阅读:
    hdu 1372 Knight Moves
    hdu 1253 胜利大逃亡
    nyoj 737 石子合并 经典区间 dp
    nyoj 737 石子合并 http://blog.csdn.net/wangdan11111/article/details/45032519
    nyoj 55 懒省事的小明
    C++ STL priority_queue
    Code forces363D Renting Bikes
    性能测试分享:jmeter性能监控(一)
    性能测试培训:WebSocket协议的接口性能之Jmeter
    翻译一篇文章:It's Difficult to Grow a Test Developer(成为测试开发工程师的艰辛)
  • 原文地址:https://www.cnblogs.com/bg57/p/4301684.html
Copyright © 2011-2022 走看看