Asp.net 如何重定向

Asp.net 如何重定向,asp.net,iis-7,redirect,url-rewriting,Asp.net,Iis 7,Redirect,Url Rewriting,好的,我需要知道如何重定向(将代码放在哪里或指定设置)。移动应用程序后,我们将从一个应用程序重定向到另一个应用程序 例如,如果用户转到existing.example.com/archive/ 我们希望将任何包含old.example.com的请求重定向到new.example.com。url中的其余部分保持不变。例如,/archive/就是一个例子,我们希望将它们重定向到这个应用程序的新位置,即new.example.com/archive/ 我需要弄清楚如何检查现有站点的传入URL是否有ex

好的,我需要知道如何重定向(将代码放在哪里或指定设置)。移动应用程序后,我们将从一个应用程序重定向到另一个应用程序

例如,如果用户转到
existing.example.com/archive/

我们希望将任何包含
old.example.com
的请求重定向到
new.example.com
。url中的其余部分保持不变。例如,
/archive/
就是一个例子,我们希望将它们重定向到这个应用程序的新位置,即
new.example.com/archive/

我需要弄清楚如何检查现有站点的传入URL是否有
existing.example.com
,如果有,则仅用新的
new.example.com
替换该部分,并保留URL中的其余内容

我知道您可以在IIS 7中或以编程方式执行此操作。我想我不明白在这两种情况下该怎么做。我安装了IIS7重写插件,很好,但我没有得到以下信息:

模式:

重定向URL:


我不知道如何在该界面中匹配
existing.example.com
,然后在重定向URL中放置什么,因为我只想将整个URL中的
existing.example.com
更改为
new.example.com
作为重定向URL。。。在IIS 7中,我看不出我是如何做到这一点的。

在您站点的global.asax.cs文件中,您可以从BeginRequest重定向,如下所示。您可以编写例程,根据需要使用regex或string.replace()或您喜欢的任何内容替换域名

protected void Application_BeginRequest(Object sender, EventArgs e){ 
    ...parse urls... 
    Response.Redirect(myNewPath)
}

在站点的global.asax.cs文件中,您可以从BeginRequest重定向,如下所示。您可以编写例程,根据需要使用regex或string.replace()或您喜欢的任何内容替换域名

protected void Application_BeginRequest(Object sender, EventArgs e){ 
    ...parse urls... 
    Response.Redirect(myNewPath)
}

对于asp.net应用程序,我有很好的使用经验,这是一个免费组件,您可以在
web.config
中配置重定向。它允许您输入正则表达式并指定带有反向引用的新URL,例如类似这样的内容(未测试):


,这是系统管理员驻留的地方…

对于asp.net应用程序,我有很好的经验,可以在
web.config
中配置重定向的免费组件。它允许您输入正则表达式并指定带有反向引用的新URL,例如类似这样的内容(未测试):


,这是系统管理员驻留的地方…

这里有一篇文章,描述了如何使用IIS7 URL重写加载项在tact中匹配一个域并重定向到另一个域:

这里有一篇文章,描述了如何使用IIS7 URL重写加载项在tact中匹配一个域并重定向到另一个域:

您不需要任何复杂的重写都可以实现这样一个简单的重定向,这是一个基本的web服务器功能。在IIS7中,您现在可以选择不安装它(从万维网服务->通用HTTP功能->HTTP重定向),但这样做并不常见

在IIS管理器中编辑主网站的“绑定”,使其仅响应“主机名:”
new.example.com
,然后创建绑定到主机名
old.example.com
的新网站。对于此站点,点击“HTTP重定向”选项和“将请求重定向到此目标:”
http://new.example.com/
带有“状态代码:”301

在配置XML术语中:

<system.webServer>
    <httpRedirect enabled="true" destination="http://new.example.com/" httpResponseStatus="Permanent" />
</system.webServer>

你不需要任何复杂的重写来完成这样一个简单的重定向,这是一个基本的web服务器功能。在IIS7中,您现在可以选择不安装它(从万维网服务->通用HTTP功能->HTTP重定向),但这样做并不常见

在IIS管理器中编辑主网站的“绑定”,使其仅响应“主机名:”
new.example.com
,然后创建绑定到主机名
old.example.com
的新网站。对于此站点,点击“HTTP重定向”选项和“将请求重定向到此目标:”
http://new.example.com/
带有“状态代码:”301

在配置XML术语中:

<system.webServer>
    <httpRedirect enabled="true" destination="http://new.example.com/" httpResponseStatus="Permanent" />
</system.webServer>


truejohn,根据设置方式,他们可能需要更改一些处理程序才能正常工作。抱歉,Response.Redirect()找到的是302,而不是OP.True John中要求的301,这取决于设置的方式,他们可能需要更改一些处理程序才能正常工作。-1。抱歉,Response.Redirect()没有找到302,而不是OP中要求的301。谢谢,这是我正在寻找的,因为我还不知道IIS插件的所有模板参数。谢谢,这就是我一直在寻找的,因为我还不知道IIS插件的所有模板参数。因此,如果传入的url(如传入的url)在第一次/?之后会重定向到保留url的其余部分?是的,只要不勾选“将所有请求重定向到确切位置”的选项。这里有一个很好的演练:因此,如果传入的url(如传入的url)会重定向到在第一次/?之后保留url的其余部分?是的,只要不勾选“将所有请求重定向到确切位置”的选项。这里有一个很好的演练: