2

我有一个内容管理的 ASP.NET 站点,它以不同的语言(例如 mysite.com、mysite.fr、mysite.eu 等)运行相同版本的站点。我被要求创建从我们法国网站上的一个页面到我们欧洲网站上的页面的重定向,所以我在 IIS 中启动了 URL Rewrite 并尝试编写规则和映射来执行此操作。失败后,我尝试将其写入 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 站点上完成?

4

1 回答 1

2

您可以使用 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,重定向到新的 url 但保留页面/文件夹路径 ({R:1})。

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

高温高压

于 2012-04-05T09:57:56.173 回答