asp.net - 使用 Web.Config 从域上的一个页面重定向到另一个域上的页面

标签 asp.net iis url-rewriting web-config http-status-code-301

我有一个内容管理的 ASP.NET 网站,该网站以不同语言运行相同版本的网站(例如 mysite.com、mysite.fr、mysite.eu 等)。我被要求创建从法国网站上的一个页面到欧洲网站上的页面的重定向,因此我在 IIS 中启动了 URL 重写,并尝试编写一个规则和映射来执行此操作。失败后,我尝试将其写入 Web.config 文件,但再次无济于事。

明确地说,我需要:

  • http://www.mysite.fr/publication/jobs.aspx 重定向到 http://www.mysite.eu/jobs.aspx
  • http://www.mysite.fr/sign-in.aspx 重定向到http://www.mysite.eu/sign-in.aspx

有谁确切知道我该如何做到这一点,或者这是否可以在具有多个域的 ASP.NET 网站上完成?

最佳答案

您可以使用 URL 重写来完成此操作。

这是我使用的一个示例。

<rule name="Redirect .co.uk" stopProcessing="true">
  <match url="(.*)" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
     <add input="{HTTP_HOST}" pattern="^uk\.test\.com$" />
    </conditions>
  <action type="Redirect" url="http://www.test.co.uk/{R:1}" />
</rule>

这将检查请求的 {HTTP_HOST},如果它与 uk.test.com 匹配,则重定向到新网址,但保留页面/文件夹路径 ({R: 1})。

添加/publication/会让事情变得有点棘手,但它可以写入原始匹配中(类似。(.*)\/publication\/(/*) 或者其他什么,我的正则表达式并不完美:-))。

HTH

关于asp.net - 使用 Web.Config 从域上的一个页面重定向到另一个域上的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10024629/

相关文章:

c# - ASP .Net 用户控件错误处理

Java HTTP 代理

php - .htaccess 重写两个或多个 PHP 文件的规则

.htaccess - 如何使用 .htaccess 从 URL 隐藏文件夹名称

c# - 带有自定义控件的 asp.netRequiredFieldValidator

asp.net - 如何检测用户操作系统

ASP.NET 处理 PUT/DELETE 动词

windows - Web.config 重定向到另一个没有尾部斜杠的 URL

java - 从 "Any JDK not found"的 helicontech 接收错误

iis - VS2010在打开项目时引发异常