我有一个内容管理的 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/