【问题标题】:Redirect to Url with port - IIS使用端口重定向到 URL - IIS
【发布时间】:2020-03-18 22:12:08
【问题描述】:

我正在尝试使用 C# 中的 Response.Redirect(url) 重定向到 url。

例如,实际上我正在浏览http://www.mysite.abc:8095/app/page.aspx

在 Page_Load 我有一个 Response.Redirect ("../ptd/page2.aspx")

在这个事件之后,浏览器有http://www.mysite.abc/ptd/page2.aspx (没有端口)

有人知道吗?

【问题讨论】:

  • 据我所知,如果您使用 Response.Redirect 它不会修改 url 中的端口号。您是否在 web.config 中启用了任何 url 重写或 httpredirect?是否仅当您在 IIS 中托管应用程序时才会出现此问题?

标签: c# iis response.redirect


【解决方案1】:

端口号是 URL 的 host 段的一部分。当您使用相对 url 时,您使用相同的主机信息。更改主机(包括端口)的唯一方法是指定全新的主机,这意味着您必须使用绝对 URL。

您可以通过获取当前 URL 主机信息在 JavaScript 中执行此操作:

var full = location.protocol+'//'+location.hostname+(location.port ? ':'+location.port: '');

来自Shef's answer

另一个选项是通过您的 c# 应用程序的配置,通过在部署时指定一个“基本 url”并在将 HTML 传递给客户端之前使用它来构造新的 url。

【讨论】:

  • 抱歉,我使用的是 C#,所以必须在 CodeBehind 中进行。
  • 您正在返回 HTML。您绝对可以选择同时使用 C# 和 JavaScript。
猜你喜欢
  • 2020-03-22
  • 1970-01-01
  • 2018-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多