【问题标题】:Http redirect without using IIS不使用 IIS 的 Http 重定向
【发布时间】:2012-09-17 12:30:51
【问题描述】:

我想知道,在不使用 IIS http 重定向的情况下,我可以通过哪些方式将任何用户从 http://www.mywebsite.com 重定向到 http://www.mywebsite.com/login

谢谢

【问题讨论】:

  • http 重定向是一种 http 重定向 - 它并不特定于 IIS 或任何其他服务器。您是在询问如何在不使用 IIS 的情况下重定向某人?
  • 是的,当用户没有输入正确的 url 时,我试图要求任何其他类型的机制将用户重定向到我的登录页面。
  • 我看到那个 C# 标签,让我觉得这是 ASP.Net。如果是,您是否使用内置的身份验证内容?如果是这样,您可以在该配置中指定登录页面 url,因此如果未登录的任何人尝试访问需要用户授权的资源,他们将被重定向到登录。不过很难说,因为问题中没有任何代码或更多解释。
  • 当用户进入 www.mywebsite.com 到 www.mywebsite.com/login 时,我试图找到一种将用户重定向的方法。使用 IIS,您可以通过将用户重定向到目标 url 在 IIS 中设置默认网站级别来实现 http 重定向。我想知道,还有其他方法吗?
  • 我正在寻找这样的东西:stackoverflow.com/questions/7018818/…

标签: c# iis redirect configuration


【解决方案1】:

您始终可以使用 JavaScript 执行此操作。使用以下代码在您的 html 标头中添加一个脚本部分:

<head> 
  <script type="text/javascript">   
    window.location.href = "http://stackoverflow.com";
  </script>
</head>

欲了解更多信息:How to redirect to another webpage in JavaScript/jQuery?

【讨论】:

    【解决方案2】:

    您可以只使用 html 代码来执行此操作:

    <html>
    <head>
    <meta http-equiv="refresh" content="5; URL=http://www.mywebsite.com/login">
    </head>
    <body>
    Please wait - redirecting...
    </body>
    </html>
    

    内容部分描述了要做什么。第一个数字是重定向应该开始的时间。这里是 5 秒。 URL= 部分告诉浏览器去哪里。

    第二种方法是使用带有body.onload的javascript:

    <html>
    <head>
    </head>
    <body onLoad='location.href="http://www.mywebsite.com/login"'>
    Please wait - redirecting...
    </body>
    </html>
    

    【讨论】:

      【解决方案3】:

      通过“IIS 重定向”,我假设您指的是 IIS 的“将所有请求重定向到此文件系统目录”功能。从 IIS7 开始,此配置已存储在 web.configapplicationHost.config 文件中。在 IIS6 中,它存储在二进制元数据库中。

      如果你想要便宜又讨厌的东西,你可以使用经典的 ASP 或 PHP 脚本,如下所示:

      经典的 ASP。称它为“Index.asp”

      <% Response.Redirect("http://mywebsite.com/login") %>
      

      PHP,称它为“index.php”

      <?php header("Location: http://mywebsite.com/login"); header("Status: 303 See Other"); %>
      

      请注意,PHP 重定向比 ASP 更便携,因为它应该适用于大多数 Apache 服务器。请注意我使用了语义正确的 HTTP 303 重定向,而不是不正确的 301 或 302 重定向(Classic ASP 使用)。

      还有基于 HTML/Javascript 的重定向,但它们不是真正的重定向,因为客户端最初会收到 HTTP 200 响应。

      【讨论】:

      • 但是你需要有asp或者php。它不是普通的 html。
      • 您不能使用纯 HTML 进行真正的 HTTP 重定向。
      猜你喜欢
      • 2023-04-05
      • 1970-01-01
      • 2019-09-03
      • 2013-05-02
      • 1970-01-01
      • 1970-01-01
      • 2018-01-18
      • 2016-12-28
      • 2019-08-17
      相关资源
      最近更新 更多